diff --git a/.020_waterfox.sh.swp b/.020_waterfox.sh.swp new file mode 100644 index 0000000..766c61b Binary files /dev/null and b/.020_waterfox.sh.swp differ diff --git a/001_apt-sources.sh b/001_apt-sources.sh index 011c4ba..d216dac 100644 --- a/001_apt-sources.sh +++ b/001_apt-sources.sh @@ -8,6 +8,7 @@ AVAILABLE=/etc/apt/sources.list-available mkdir -p "${AVAILABLE}" SECTION=(main contrib non-free) +#ACTIVE_LIST=('chimaera' 'chimaera-security' 'chimaera-updates' 'chimaera-backports') ACTIVE_LIST=('beowulf' 'beowulf-security' 'beowulf-updates' 'beowulf-backports') #ACTIVE_LIST=('ascii' 'ascii-security' 'ascii-updates' 'ascii-backports') #INACTIVE_LIST=('jessie' 'jessie-security' 'jessie-updates' 'jessie-backports' 'beowulf' 'beowulf-security' 'beowulf-updates' 'beowulf-backports' 'ceres') diff --git a/001_udev-rules.sh b/001_udev-rules.sh index 781e13f..33cce92 100644 --- a/001_udev-rules.sh +++ b/001_udev-rules.sh @@ -16,6 +16,202 @@ ATTRS{idVendor}=="21a9", ATTRS{idProduct}=="1004", MODE="664", GROUP="plugdev" LABEL="saleae_logic_rules_end" EOF +cat > /etc/udev/rules.d/99-pm3.rules << 'EOF' +SUBSYSTEM!="usb", GOTO="pm3_rules_end" + +ATTRS{idVendor}=="17a4", ATTRS{idProduct}=="0001", MODE="0666", GROUP="plugdev" + +LABEL="pm3_rules_end" +EOF + +cat > /etc/udev/rules.d/99-wemos-esp32.rules << 'EOF' +SUBSYSTEM!="usb", GOTO="wemos-esp32_rules_end" + +ATTRS{idVendor}=="10c4", ATTRS{idProduct}=="ea60", MODE="0666", GROUP="plugdev" + +LABEL="wemos-esp32_rules_end" +EOF + +cat > /etc/udev/rules.d/99-platformio-udev.rules << 'EOF' +# Copyright (c) 2014-present PlatformIO +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +##################################################################################### +# +# INSTALLATION +# +# Please visit > https://docs.platformio.org/en/latest/faq.html#platformio-udev-rules +# +##################################################################################### + +# +# Boards +# + +# CP210X USB UART +ATTRS{idVendor}=="10c4", ATTRS{idProduct}=="ea60", MODE:="0666", ENV{ID_MM_DEVICE_IGNORE}="1", ENV{ID_MM_PORT_IGNORE}="1" + +# FT231XS USB UART +ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6015", MODE:="0666", ENV{ID_MM_DEVICE_IGNORE}="1", ENV{ID_MM_PORT_IGNORE}="1" + +# Prolific Technology, Inc. PL2303 Serial Port +ATTRS{idVendor}=="067b", ATTRS{idProduct}=="2303", MODE:="0666", ENV{ID_MM_DEVICE_IGNORE}="1", ENV{ID_MM_PORT_IGNORE}="1" + +# QinHeng Electronics HL-340 USB-Serial adapter +ATTRS{idVendor}=="1a86", ATTRS{idProduct}=="7523", MODE:="0666", ENV{ID_MM_DEVICE_IGNORE}="1", ENV{ID_MM_PORT_IGNORE}="1" + +# Arduino boards +ATTRS{idVendor}=="2341", ATTRS{idProduct}=="[08][02]*", MODE:="0666", ENV{ID_MM_DEVICE_IGNORE}="1", ENV{ID_MM_PORT_IGNORE}="1" +ATTRS{idVendor}=="2a03", ATTRS{idProduct}=="[08][02]*", MODE:="0666", ENV{ID_MM_DEVICE_IGNORE}="1", ENV{ID_MM_PORT_IGNORE}="1" + +# Arduino SAM-BA +ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="6124", MODE:="0666", ENV{ID_MM_DEVICE_IGNORE}="1", ENV{MTP_NO_PROBE}="1" + +# Digistump boards +ATTRS{idVendor}=="16d0", ATTRS{idProduct}=="0753", MODE:="0666", ENV{ID_MM_DEVICE_IGNORE}="1", ENV{ID_MM_PORT_IGNORE}="1" + +# Maple with DFU +ATTRS{idVendor}=="1eaf", ATTRS{idProduct}=="000[34]", MODE:="0666", ENV{ID_MM_DEVICE_IGNORE}="1", ENV{ID_MM_PORT_IGNORE}="1" + +# USBtiny +ATTRS{idProduct}=="0c9f", ATTRS{idVendor}=="1781", MODE:="0666", ENV{ID_MM_DEVICE_IGNORE}="1", ENV{ID_MM_PORT_IGNORE}="1" + +# USBasp V2.0 +ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="05dc", MODE:="0666", ENV{ID_MM_DEVICE_IGNORE}="1", ENV{ID_MM_PORT_IGNORE}="1" + +# Teensy boards +ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="04[789B]?", ENV{ID_MM_DEVICE_IGNORE}="1", ENV{ID_MM_PORT_IGNORE}="1" +ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="04[789A]?", ENV{MTP_NO_PROBE}="1" +SUBSYSTEMS=="usb", ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="04[789ABCD]?", MODE:="0666" +KERNEL=="ttyACM*", ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="04[789B]?", MODE:="0666" + +#TI Stellaris Launchpad +ATTRS{idVendor}=="1cbe", ATTRS{idProduct}=="00fd", MODE="0666", ENV{ID_MM_DEVICE_IGNORE}="1", ENV{ID_MM_PORT_IGNORE}="1" + +#TI MSP430 Launchpad +ATTRS{idVendor}=="0451", ATTRS{idProduct}=="f432", MODE="0666", ENV{ID_MM_DEVICE_IGNORE}="1", ENV{ID_MM_PORT_IGNORE}="1" + +#GD32V DFU Bootloader +ATTRS{idVendor}=="28e9", ATTRS{idProduct}=="0189", MODE="0666", ENV{ID_MM_DEVICE_IGNORE}="1", ENV{ID_MM_PORT_IGNORE}="1" + +# +# Debuggers +# + +# Black Magic Probe +SUBSYSTEM=="tty", ATTRS{interface}=="Black Magic GDB Server", MODE="0666", ENV{ID_MM_DEVICE_IGNORE}="1", ENV{ID_MM_PORT_IGNORE}="1" +SUBSYSTEM=="tty", ATTRS{interface}=="Black Magic UART Port", MODE="0666", ENV{ID_MM_DEVICE_IGNORE}="1", ENV{ID_MM_PORT_IGNORE}="1" + +# opendous and estick +ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="204f", MODE="0666", ENV{ID_MM_DEVICE_IGNORE}="1", ENV{ID_MM_PORT_IGNORE}="1" + +# Original FT232/FT245 VID:PID +ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001", MODE="0666", ENV{ID_MM_DEVICE_IGNORE}="1", ENV{ID_MM_PORT_IGNORE}="1" + +# Original FT2232 VID:PID +ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6010", MODE="0666", ENV{ID_MM_DEVICE_IGNORE}="1", ENV{ID_MM_PORT_IGNORE}="1" + +# Original FT4232 VID:PID +ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6011", MODE="0666", ENV{ID_MM_DEVICE_IGNORE}="1", ENV{ID_MM_PORT_IGNORE}="1" + +# Original FT232H VID:PID +ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6014", MODE="0666", ENV{ID_MM_DEVICE_IGNORE}="1", ENV{ID_MM_PORT_IGNORE}="1" + +# DISTORTEC JTAG-lock-pick Tiny 2 +ATTRS{idVendor}=="0403", ATTRS{idProduct}=="8220", MODE="0666", ENV{ID_MM_DEVICE_IGNORE}="1", ENV{ID_MM_PORT_IGNORE}="1" + +# TUMPA, TUMPA Lite +ATTRS{idVendor}=="0403", ATTRS{idProduct}=="8a98", MODE="0666", ENV{ID_MM_DEVICE_IGNORE}="1", ENV{ID_MM_PORT_IGNORE}="1" +ATTRS{idVendor}=="0403", ATTRS{idProduct}=="8a99", MODE="0666", ENV{ID_MM_DEVICE_IGNORE}="1", ENV{ID_MM_PORT_IGNORE}="1" + +# XDS100v2 +ATTRS{idVendor}=="0403", ATTRS{idProduct}=="a6d0", MODE="0666", ENV{ID_MM_DEVICE_IGNORE}="1", ENV{ID_MM_PORT_IGNORE}="1" + +# Xverve Signalyzer Tool (DT-USB-ST), Signalyzer LITE (DT-USB-SLITE) +ATTRS{idVendor}=="0403", ATTRS{idProduct}=="bca0", MODE="0666", ENV{ID_MM_DEVICE_IGNORE}="1", ENV{ID_MM_PORT_IGNORE}="1" +ATTRS{idVendor}=="0403", ATTRS{idProduct}=="bca1", MODE="0666", ENV{ID_MM_DEVICE_IGNORE}="1", ENV{ID_MM_PORT_IGNORE}="1" + +# TI/Luminary Stellaris Evaluation Board FTDI (several) +ATTRS{idVendor}=="0403", ATTRS{idProduct}=="bcd9", MODE="0666", ENV{ID_MM_DEVICE_IGNORE}="1", ENV{ID_MM_PORT_IGNORE}="1" + +# TI/Luminary Stellaris In-Circuit Debug Interface FTDI (ICDI) Board +ATTRS{idVendor}=="0403", ATTRS{idProduct}=="bcda", MODE="0666", ENV{ID_MM_DEVICE_IGNORE}="1", ENV{ID_MM_PORT_IGNORE}="1" + +# egnite Turtelizer 2 +ATTRS{idVendor}=="0403", ATTRS{idProduct}=="bdc8", MODE="0666", ENV{ID_MM_DEVICE_IGNORE}="1", ENV{ID_MM_PORT_IGNORE}="1" + +# Section5 ICEbear +ATTRS{idVendor}=="0403", ATTRS{idProduct}=="c140", MODE="0666", ENV{ID_MM_DEVICE_IGNORE}="1", ENV{ID_MM_PORT_IGNORE}="1" +ATTRS{idVendor}=="0403", ATTRS{idProduct}=="c141", MODE="0666", ENV{ID_MM_DEVICE_IGNORE}="1", ENV{ID_MM_PORT_IGNORE}="1" + +# Amontec JTAGkey and JTAGkey-tiny +ATTRS{idVendor}=="0403", ATTRS{idProduct}=="cff8", MODE="0666", ENV{ID_MM_DEVICE_IGNORE}="1", ENV{ID_MM_PORT_IGNORE}="1" + +# TI ICDI +ATTRS{idVendor}=="0451", ATTRS{idProduct}=="c32a", MODE="0666", ENV{ID_MM_DEVICE_IGNORE}="1", ENV{ID_MM_PORT_IGNORE}="1" + +# STLink probes +ATTRS{idVendor}=="0483", MODE="0666", ENV{ID_MM_DEVICE_IGNORE}="1", ENV{ID_MM_PORT_IGNORE}="1" + +# Hilscher NXHX Boards +ATTRS{idVendor}=="0640", ATTRS{idProduct}=="0028", MODE="0666", ENV{ID_MM_DEVICE_IGNORE}="1", ENV{ID_MM_PORT_IGNORE}="1" + +# Hitex probes +ATTRS{idVendor}=="0640", MODE="0666", ENV{ID_MM_DEVICE_IGNORE}="1", ENV{ID_MM_PORT_IGNORE}="1" + +# Altera USB Blaster +ATTRS{idVendor}=="09fb", ATTRS{idProduct}=="6001", MODE="0666", ENV{ID_MM_DEVICE_IGNORE}="1", ENV{ID_MM_PORT_IGNORE}="1" + +# Amontec JTAGkey-HiSpeed +ATTRS{idVendor}=="0fbb", ATTRS{idProduct}=="1000", MODE="0666", ENV{ID_MM_DEVICE_IGNORE}="1", ENV{ID_MM_PORT_IGNORE}="1" + +# SEGGER J-Link +ATTRS{idVendor}=="1366", MODE="0666", ENV{ID_MM_DEVICE_IGNORE}="1", ENV{ID_MM_PORT_IGNORE}="1" + +# Raisonance RLink +ATTRS{idVendor}=="138e", ATTRS{idProduct}=="9000", MODE="0666", ENV{ID_MM_DEVICE_IGNORE}="1", ENV{ID_MM_PORT_IGNORE}="1" + +# Debug Board for Neo1973 +ATTRS{idVendor}=="1457", ATTRS{idProduct}=="5118", MODE="0666", ENV{ID_MM_DEVICE_IGNORE}="1", ENV{ID_MM_PORT_IGNORE}="1" + +# Olimex probes +ATTRS{idVendor}=="15ba", MODE="0666", ENV{ID_MM_DEVICE_IGNORE}="1", ENV{ID_MM_PORT_IGNORE}="1" + +# USBprog with OpenOCD firmware +ATTRS{idVendor}=="1781", ATTRS{idProduct}=="0c63", MODE="0666", ENV{ID_MM_DEVICE_IGNORE}="1", ENV{ID_MM_PORT_IGNORE}="1" + +# TI/Luminary Stellaris In-Circuit Debug Interface (ICDI) Board +ATTRS{idVendor}=="1cbe", ATTRS{idProduct}=="00fd", MODE="0666", ENV{ID_MM_DEVICE_IGNORE}="1", ENV{ID_MM_PORT_IGNORE}="1" + +# Marvell Sheevaplug +ATTRS{idVendor}=="9e88", ATTRS{idProduct}=="9e8f", MODE="0666", ENV{ID_MM_DEVICE_IGNORE}="1", ENV{ID_MM_PORT_IGNORE}="1" + +# Keil Software, Inc. ULink +ATTRS{idVendor}=="c251", ATTRS{idProduct}=="2710", MODE="0666", ENV{ID_MM_DEVICE_IGNORE}="1", ENV{ID_MM_PORT_IGNORE}="1" + +# CMSIS-DAP compatible adapters +ATTRS{product}=="*CMSIS-DAP*", MODE="0666", ENV{ID_MM_DEVICE_IGNORE}="1", ENV{ID_MM_PORT_IGNORE}="1" +EOF + +cat > /etc/udev/rules.d/99-nodemcu.rules << 'EOF' +SUBSYSTEM!="usb", GOTO="nodemcu_rules_end" + +ATTRS{idVendor}=="1a86", ATTRS{idProduct}=="7523", MODE="0666", GROUP="plugdev" + +LABEL="nodemcu_rules_end" +EOF + cat > /etc/udev/rules.d/99-ch341a-prog.rules << 'EOF' SUBSYSTEM!="usb", GOTO="ch431a-prog_rules_end" diff --git a/010_alsa.sh b/010_alsa.sh index 4a6922e..6297162 100644 --- a/010_alsa.sh +++ b/010_alsa.sh @@ -1,4 +1,4 @@ -apt-get -y remove --purge pulseaudio pulseaudio-module-x11 pulseaudio-utils pavucontrol gstreamer0.10-pulseaudio paman pavumeter pavucontrol +apt-get -y remove --purge pulseaudio pulseaudio-module-x11 pulseaudio-utils pavucontrol gstreamer1.0-pulseaudio pacman pavumeter pavucontrol kill -9 `ps aux | grep -v grep | grep start-pulseaudio | awk {'print $2'}` kill -9 `ps aux | grep -v grep | grep pulseaudio | awk {'print $2'}` @@ -8,7 +8,7 @@ rm ~/.pulse-cookie rm -r ~/.config/pulse rm -rf /tmp/pulse* -apt-get -y install alsa-base alsa-tools alsa-tools-gui alsa-utils alsa-oss alsamixergui volumeicon-alsa libalsaplayer0 +apt-get -y install alsa-tools alsa-tools-gui alsa-utils alsa-oss alsamixergui volumeicon-alsa libalsaplayer0 apt-get -y install pnmixer /etc/init.d/alsa-utils restart diff --git a/010_apt-get.sh b/010_apt-get.sh index 36c72cd..996474e 100644 --- a/010_apt-get.sh +++ b/010_apt-get.sh @@ -7,6 +7,7 @@ apt-get -y install xsel apt-get -y install neofetch apt-get -y install sshpass apt-get -y install git +apt-get -y install gnutls-bin apt-get -y install tig apt-get -y install grc apt-get -y install gitk diff --git a/010_python.sh b/010_python.sh index ab5e9f0..0449759 100644 --- a/010_python.sh +++ b/010_python.sh @@ -6,4 +6,4 @@ apt-get install -y bpython apt-get install -y bpython3 apt-get install -y python3-pylint apt-get install -y virtualenvwrapper -apt-get install -y prospector +#apt-get install -y prospector diff --git a/010_saltstack.sh b/010_saltstack.sh index 25ca3ec..3a8908d 100644 --- a/010_saltstack.sh +++ b/010_saltstack.sh @@ -40,9 +40,10 @@ SALT_VERSION=2016.11 SALT_VERSION=2017.7 SALT_VERSION=archive/2017.7.3 SALT_VERSION=2018.3.0 +SALT_VERSION=2019.2.2 SALT_VERSION=latest -REFRESHED_AT=2018-06-10 +REFRESHED_AT=2019-12-31 mkdir -p /etc/apt/sources.list-available #bash -c "wget -q -O- "http://debian.saltstack.com/debian-salt-team-joehealy.gpg.key" | apt-key add -" @@ -50,6 +51,7 @@ wget -O - https://repo.saltstack.com/apt/debian/${DEBIAN_VERSION}/amd64/latest/S # NB Packages now have dh-systemd deps and --with-systemd treat as debian upstream echo "#wget -O - https://repo.saltstack.com/apt/debian/${DEBIAN_VERSION}/amd64/latest/SALTSTACK-GPG-KEY.pub | apt-key add -" >> /etc/apt/sources.list-available/saltstack-${DEBIAN_RELEASE}.list + echo "deb http://repo.saltstack.com/apt/debian/${DEBIAN_VERSION}/amd64/${SALT_VERSION} ${DEBIAN_VERSION} main" > /etc/apt/sources.list-available/saltstack-${DEBIAN_RELEASE}.list #ln -s /etc/apt/sources.list-available/saltstack-${DEBIAN_RELEASE}.list /etc/apt/sources.list.d/saltstack-${DEBIAN_RELEASE}.list @@ -121,5 +123,6 @@ apt-get install -yq -o -o DPkg::Options::=--force-confold --no-install-recommend test -e /usr/share/bash-completion/completions/salt-common || \ curl -sL "https://raw.githubusercontent.com/saltstack/salt/develop/pkg/salt.bash" | sudo tee /usr/share/bash-completion/completions/salt-common + test -e /usr/share/zsh/vendor-completions/_salt || \ curl -sL "https://raw.githubusercontent.com/saltstack/salt/develop/pkg/zsh_completion.zsh" | sudo tee /usr/share/zsh/vendor-completions/_salt diff --git a/020_bluez-alsa.sh b/020_bluez-alsa.sh new file mode 100644 index 0000000..d17bc97 --- /dev/null +++ b/020_bluez-alsa.sh @@ -0,0 +1,106 @@ +set -x +sudo apt-get install libasound2-dev dh-autoreconf libortp-dev bluez bluetooth bluez-tools libbluetooth-dev libusb-dev libglib2.0-dev libudev-dev libical-dev libreadline-dev libsbc1 libsbc-dev libfdk-aac-dev dh-make check + +USER=Arkq +PROJECT=bluez-alsa +LICENSE=mit +BUILD_HOME=/var/tmp/bluez-alsa-git_build +VERSION=1.4.0 + +DEBEMAIL="person@company.tld" +DEBFULLNAME="Testy McTester" + +# Disable discoverable timeout +sed -i 's,^\(DiscoverableTimeout =\).*,\1'\"0"',' /etc/default/bluetooth/main.conf + +mkdir -p ${BUILD_HOME} +cd ${BUILD_HOME} + +git clone https://github.com/${USER}/${PROJECT}.git + +mv bluez-alsa bluez-alsa-git-${VERSION} +cd bluez-alsa-git-${VERSION} +pwd +ls -lh + +cat < .git/gbp.conf +[DEFAULT] +# this is the upstream-branch: +upstream-branch=master +EOF + +dh_make \ + --createorig \ + --single \ + --native \ + --copyright ${LICENSE} \ + --packagename ${PROJECT}-git \ + --yes +BUILD_OPTIONS="--enable-aac --enable-ofono --enable-debug" + +cat < debian/rules +%: + dh \$@ + +override_dh_auto_configure: + dh_auto_configure -- ${BUILD_OPTIONS} +EOF + +cat < debian/watch +version=4 +opts=filenamemangle=s/.+\/v?(\d\S+)\.tar\.gz/${PROJECT}-$1\.tar\.gz/ \ + https://github.com/${USER}/${PROJECT}/tags .*/v?(\d\S+)\.tar\.gz +EOF + +pwd +dpkg-buildpackage -us -uc -b +sudo dpkg -i ../bluez-alsa-git_1.4.0_amd64.deb +## When BlueALSA has been created, then you can start BlueALSA as background task: +#bluealsa --disable-hfp & + +# Now - for using your bluetooth-speaker/headset - with BlueALSA you have to intoduce the device to the bluetooth-stack using bluetoothctl: +# bluetoothctl > +# scan on +# [NEW] Device 30:23:23:F4:48:2C TH-S10U +# scan off +# pair 30:23:23:F4:48:2C +# trust 30:23:23:F4:48:2C +# exit + +# After that power off&on the bt-speaker device and the device will connect automatically as a trusted device. + +# Before we try our first audio-command we had to export one thing to make BlueALSA mor system-friendly: +export LIBASOUND_THREAD_SAFE=0 + +# autostart bluealsa +#cat < /etc/rc.local +## Start bluealsa as root +#export LIBASOUND_THREAD_SAFE=0 +#/usr/bin/bluealsa -S & +#EOF + +# Text to speech: + +# espeak "Hello, how are you?" -w /home/guido/espeak.wav -s145 +# aplay -D bluealsa:HCI=hci0,DEV=30:23:23:F4:48:2C,PROFILE=a2dp /home/guido/espeak.wav + +# Internetradio: + +# mpg123 -a bluealsa:HCI=hci0,DEV=30:23:23:F4:48:2C,PROFILE=a2dp -@ /home/guido/ffh80s.pls + +# For shorting the command you could create a ~/.asoundrc with the following content: + +# defaults.bluealsa.interface "hci0" +# defaults.bluealsa.device "30:23:23:F4:48:2C" +# defaults.bluealsa.profile "a2dp" +# defaults.bluealsa.delay 10000 + +# Now you can the shorter version of the command: + +# mpg123 -a bluealsa -@ /home/guido/ffh80s.pls + +# For set the volume of such a device you have to know the "real" name of the device out of the bluetoothctl and the name of the used protocol: + +# Device: 30:23:23:F4:48:2C TH-S10U +# Protocol: A2DP +# amixer -D bluealsa sset 'TH-S10U - A2DP ' 70% diff --git a/020_brave_browser-beta.sh b/020_brave_browser-beta.sh index c140d31..421b0d9 100644 --- a/020_brave_browser-beta.sh +++ b/020_brave_browser-beta.sh @@ -7,4 +7,7 @@ echo "deb [arch=amd64] https://brave-browser-apt-beta.s3.brave.com/ $UBUNTU_CODE sudo apt update +echo 'kernel.unprivileged_userns_clone=1' > /etc/sysctl.d/00-local-userns.conf +service procps restart + sudo apt install brave-browser-beta diff --git a/020_brave_browser-dev.sh b/020_brave_browser-dev.sh index 61ae84a..07e9148 100644 --- a/020_brave_browser-dev.sh +++ b/020_brave_browser-dev.sh @@ -7,6 +7,9 @@ echo "deb [arch=amd64] https://brave-browser-apt-dev.s3.brave.com/ $UBUNTU_CODEN sudo ln -s /etc/apt/sources.list-available/brave-browser-dev-${UBUNTU_CODENAME}.list /etc/apt/sources.list.d/brave-browser-dev-${UBUNTU_CODENAME}.list +echo 'kernel.unprivileged_userns_clone=1' > /etc/sysctl.d/00-local-userns.conf +service procps restart + sudo apt update sudo apt install brave-browser-dev diff --git a/020_brave_browser-nightly.sh b/020_brave_browser-nightly.sh index 4c8af42..2f4af5a 100644 --- a/020_brave_browser-nightly.sh +++ b/020_brave_browser-nightly.sh @@ -7,6 +7,9 @@ echo "deb [arch=amd64] https://brave-browser-apt-nightly.s3.brave.com/ $UBUNTU_C sudo ln -s /etc/apt/sources.list-available/brave-browser-nightly-${UBUNTU_CODENAME}.list /etc/apt/sources.list.d/brave-browser-nightly-${UBUNTU_CODENAME}.list +echo 'kernel.unprivileged_userns_clone=1' > /etc/sysctl.d/00-local-userns.conf +service procps restart + sudo apt update sudo apt install brave-browser-nightly diff --git a/020_brave_browser.sh b/020_brave_browser.sh index 259ad43..cee32fd 100644 --- a/020_brave_browser.sh +++ b/020_brave_browser.sh @@ -6,6 +6,10 @@ sudo sh -c 'echo "deb [arch=amd64] https://brave-browser-apt-release.s3.brave.co sudo ln -s /etc/apt/sources.list.d/brave.list /etc/apt/sources.list.d/brave.list +echo 'kernel.unprivileged_userns_clone=1' > /etc/sysctl.d/00-local-userns.conf +service procps restart + + sudo apt update sudo apt install brave-browser brave-keyring diff --git a/020_docker.sh b/020_docker.sh index 21380d6..1417964 100644 --- a/020_docker.sh +++ b/020_docker.sh @@ -3,8 +3,10 @@ set -x #echo '#bash -c "apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D"' > /etc/apt/sources.list.d/docker.list #echo "deb http://apt.dockerproject.org/repo debian-stretch main" >> /etc/apt/sources.list.d/docker.list -echo '#bash -c "curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -"' > /etc/apt/sources.list.d/docker.list -echo "deb [arch=amd64] https://download.docker.com/linux/debian buster stable" >> /etc/apt/sources.list.d/docker.list +echo '#bash -c "curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -"' > /etc/apt/sources.list-available/docker.list +echo "deb [arch=amd64] https://download.docker.com/linux/debian buster stable" >> /etc/apt/sources.list-available/docker.list + +ln -s /etc/apt/sources.list-available/docker.list /etc/apt/sources.list.d/docker.list #bash -c "apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D" bash -c "curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -" diff --git a/020_free42.sh b/020_free42.sh index cf8b75a..2ee4d01 100644 --- a/020_free42.sh +++ b/020_free42.sh @@ -1,4 +1,5 @@ -apt-get -y install free42-nologo +# build from unstable source - below +#apt-get -y install free42-nologo mkdir -p ~/.free42/ touch ~/.free42/print touch ~/.free42/state @@ -321,3 +322,20 @@ EOF mkdir -p ~/.zsh_aliases.d touch ~/.zsh_aliases.d/001_shared.zsh echo "source ${HOME}/.aliases" > ~/.zsh_aliases.d/001_shared.zsh + +cd /usr/src + +# build deps +apt install devscripts +mk-build-deps free42-nologo --install --root-cmd sudo --remove + +echo "deb-src http://pkgmaster.devuan.org/merged/ ceres main contrib non-free" >> /etc/apt/sources.list.d/ceres-temp.list +apt-get source free42-nologo +apt-get update +rm /etc/apt/sources.list.d/ceres-temp.list + +cd free42-nologo + +# gbp buildpackage --git-builder=sbuild -A -v -d "${RELEASE}" +dpkg-buildpackage -us -uc -b +dpkg -r free42-nologo-build-deps diff --git a/020_git-mergetool.sh b/020_git-mergetool.sh index e386a59..6ff44f6 100644 --- a/020_git-mergetool.sh +++ b/020_git-mergetool.sh @@ -1,6 +1,8 @@ BIN_DIR=/usr/local/bin #BIN_DIR=~/bin +apt-get -y install meld + # Available tools: git difftool --tool-help diff --git a/020_grc.sh b/020_grc.sh index 13b71ea..afcf265 100644 --- a/020_grc.sh +++ b/020_grc.sh @@ -1,5 +1,7 @@ apt-get -y install grc -ALIAS_FILE=/home/default/.zsh_aliases.d/003-grc.sh +ALIAS_FILE=~/.zsh_aliases.d/003-grc.sh +mkdir -p ${ALIAS_FILE} + cat > ${ALIAS_FILE} <<'EOF' # coloured output using grc if [ -e /usr/bin/grc ]; then diff --git a/020_meshroom.sh b/020_meshroom.sh new file mode 100644 index 0000000..40e99b4 --- /dev/null +++ b/020_meshroom.sh @@ -0,0 +1,18 @@ +PREFIX=/tmp +NAME=alicevision +PROJECT=alicevision/meshroom +#RELEASE=$(curl -s https://api.github.com/repos/${PROJECT}/releases/latest | grep tarball_url | cut -d '"' -f 4 | awk -F "/" {'print $8'}|) + +DOWNLOAD_URL=$(curl -s https://api.github.com/repos/${PROJECT}/releases/latest | grep browser_download_url | cut -d '"' -f 4 | grep linux) + +FILENAME=$(echo $DOWNLOAD_URL | sed "s/.*\///") + +wget -c --directory-prefix ${PREFIX} ${DOWNLOAD_URL} + +cd /tmp + +tar -xzvf ${FILENAME} + +cd /tmp/${FILENAME} +sudo pip install -r requirements.txt + diff --git a/020_neovim.sh b/020_neovim.sh index 6410ae5..0ffaa4e 100644 --- a/020_neovim.sh +++ b/020_neovim.sh @@ -1,5 +1,5 @@ # Install Neovim -apt-get install software-properties-common -y +apt-get install -y software-properties-common apt-get install -y neovim # Need to backport from sid @@ -13,6 +13,9 @@ apt-get install -y #python-neovim python3-neovim #ln -s ~/.vim ~/.config/nvim mkdir -p ~/.config/nvim +mkdir -p ~/.config/nvim/bundle +mkdir -p ~/.config/nvim/colors +git clone https://github.com/VundleVim/Vundle.vim.git ~/.config/nvim/bundle/Vundle.vim # https://github.com/Netherdrake/Dotfiles/blob/master/config/nvim/init.vim #ln -s ~/.vimrc ~/.config/nvim/init.vim @@ -29,12 +32,17 @@ set encoding=utf-8 " start vundler filetype off -set rtp+=~/.vim/bundle/vundle/ -call vundle#rc() +set rtp+=~/.config/nvim/bundle/Vundle.vim +"call vundle#rc() +call vundle#begin('~/.config/nvim/bundle') + +Plugin 'VundleVim/Vundle.vim' " core plugins Bundle "gmarik/vundle" Bundle "flazz/vim-colorschemes" +Bundle "joshdick/onedark.vim" +Bundle "vim-scripts/candyman.vim" "Bundle "kien/ctrlp.vim" Bundle "ctrlpvim/ctrlp.vim" @@ -49,7 +57,6 @@ Bundle "vim-scripts/tComment" Bundle "tpope/vim-surround" Bundle "mileszs/ack.vim" Bundle "rking/ag.vim" -Bundle "edsono/vim-matchit" Bundle "tpope/vim-fugitive" Bundle 'jreybert/vimagit' Bundle "henrik/vim-indexed-search" @@ -82,6 +89,10 @@ Bundle "plasticboy/vim-markdown" Bundle "vim-scripts/c.vim" +" platformio +Bundle "coddingtonbear/neomake-platformio" +Bundle "maralla/completor.vim" + " databases Bundle "vim-scripts/SQLUtilities" Bundle "NagatoPain/AutoSQLUpperCase.vim" @@ -96,6 +107,8 @@ Bundle "tomtom/tlib_vim" Bundle "SirVer/ultisnips" Bundle "honza/vim-snippets" +call vundle#end() + " enable all the plugins filetype plugin indent on @@ -161,7 +174,8 @@ augroup END " syntax highlighting syntax on -colorscheme candyman +"colorscheme candyman +colorscheme onedark " session management let g:session_directory = "~/.vim/session" diff --git a/020_onivim2.sh b/020_onivim2.sh new file mode 100644 index 0000000..bcf6703 --- /dev/null +++ b/020_onivim2.sh @@ -0,0 +1,11 @@ +apt-get install jq + +set +x +PROJECT=onivim/oni2 +RELEASE=$(curl "https://api.github.com/repos/${PROJECT}/releases?per_page=5" | jq -r '.[0] | .tag_name') +VERSION=$(echo "${RELEASE}" | cut -c 2- | cut -f1 -d"-") +DOWNLOAD_DIR=/tmp + +wget -c --directory-prefix "${DOWNLOAD_DIR}" https://github.com/onivim/oni/releases/download/"${RELEASE}"/Oni-"${VERSION}"-amd64-linux.deb + +sudo dpkg -i "${DOWNLOAD_DIR}/Oni-${VERSION}-amd64-linux.deb" diff --git a/020_pidgin.sh b/020_pidgin.sh index 55cb3a0..3bb9516 100644 --- a/020_pidgin.sh +++ b/020_pidgin.sh @@ -1 +1 @@ -apt-get install -y pidgin pidgin-otr pidgin-libnotify +apt-get install -y pidgin pidgin-otr diff --git a/020_podman.sh b/020_podman.sh new file mode 100644 index 0000000..693b718 --- /dev/null +++ b/020_podman.sh @@ -0,0 +1,74 @@ +# https://github.com/containers/libpod/blob/master/docs/tutorials/podman_tutorial.md + +# Buildah and podman are redhats implementation of docker containers. + +# Main configuration files: + +# /etc/containers/registries.conf – configuration file which specifies which container registries should be consulted when completing image names which do not include a registry or domain portion. + +# /etc/containers/mounts.conf – specify volume mount directories that are automatically mounted inside containers when executing the podman run or podman build commands + +# Update system +sudo apt -y update && sudo apt -y upgrade + +# Install pre-requisites +sudo apt -y install \ + gcc \ + make \ + cmake \ + git \ + btrfs-progs \ + golang-go \ + go-md2man \ + iptables \ + libassuan-dev \ + libc6-dev \ + libdevmapper-dev \ + libglib2.0-dev \ + libgpgme-dev \ + libgpg-error-dev \ + libostree-dev \ + libprotobuf-dev \ + libprotobuf-c-dev \ + libseccomp-dev \ + libselinux1-dev \ + libsystemd-dev \ + pkg-config \ + runc \ + uidmap \ + libapparmor-dev + +# Install conmon +git clone https://github.com/containers/conmon +cd conmon +make +sudo make podman +sudo cp /usr/local/libexec/podman/conmon /usr/local/bin/ + +# Install CNI plugins +git clone https://github.com/containernetworking/plugins.git $GOPATH/src/github.com/containernetworking/plugins +cd $GOPATH/src/github.com/containernetworking/plugins +./build_linux.sh +sudo mkdir -p /usr/libexec/cni +sudo cp bin/* /usr/libexec/cni + +# Setup CNI networking +sudo mkdir -p /etc/cni/net.d +curl -qsSL https://raw.githubusercontent.com/containers/libpod/master/cni/87-podman-bridge.conflist | sudo tee /etc/cni/net.d/99-loopback.conf + +# Populate configuration files +sudo mkdir -p /etc/containers +sudo curl https://raw.githubusercontent.com/projectatomic/registries/master/registries.fedora -o /etc/containers/registries.conf +sudo curl https://raw.githubusercontent.com/containers/skopeo/master/default-policy.json -o /etc/containers/policy.json + +# Install Podman +git clone https://github.com/containers/libpod/ $GOPATH/src/github.com/containers/libpod +cd $GOPATH/src/github.com/containers/libpod +make +sudo make install + +podman version +podman info + + + diff --git a/020_python.sh b/020_python.sh index d64649c..5e09595 100644 --- a/020_python.sh +++ b/020_python.sh @@ -1 +1 @@ -apt install python3-requests python3-lxml python3-cssselect feh +apt install -y python3-requests python3-lxml python3-cssselect feh diff --git a/020_speechd-alsa.sh b/020_speechd-alsa.sh index 09cabb7..6475221 100644 --- a/020_speechd-alsa.sh +++ b/020_speechd-alsa.sh @@ -8,19 +8,19 @@ SPEECHD_CONF=/etc/speech-dispatcher/speechd.conf sed -i 's,^\(LogLevel \).*,\1'4',' ${SPEECHD_CONF} sed -i 's,^\(LogDir \).*,\1'\"default\"',' ${SPEECHD_CONF} sed -i 's,^\(DefaultVolume \).*,\1'100',' ${SPEECHD_CONF} -sed -i 's,^\(DefaultModule \).*,\1'festival',' ${SPEECHD_CONF} +#sed -i 's,^\(DefaultModule \).*,\1'festival',' ${SPEECHD_CONF} +sed -i 's,^\(DefaultModule \).*,\1'espeak-ng',' ${SPEECHD_CONF} sed -i 's,^\(Include \).*,\1'\"clients\/\*\.conf\"',' ${SPEECHD_CONF} # Commented - no space -sed -i '/^#AddModule \"festival\".*/ s/.*/&\nAddModule \"festival\" \"sd_festival\" \"festival.conf\"/' ${SPEECHD_CONF} +#sed -i '/^#AddModule \"festival\".*/ s/.*/&\nAddModule \"festival\" \"sd_festival\" \"festival.conf\"/' ${SPEECHD_CONF} +sed -i '/^#AddModule \"espeak-ng\".*/ s/.*/&\nAddModule \"espeak-ng\" \"sd_espeak-ng\" \"espeak-ng.conf\"/' ${SPEECHD_CONF} -sed -i '/^#LanguageDefaultModule \"en\".*/ s/.*/&\nLanguageDefaultModule \"en\" \"festival\"/' ${SPEECHD_CONF} +#sed -i '/^#LanguageDefaultModule \"en\".*/ s/.*/&\nLanguageDefaultModule \"en\" \"festival\"/' ${SPEECHD_CONF} +sed -i '/^#LanguageDefaultModule \"en\".*/ s/.*/&\nLanguageDefaultModule \"en\" \"espeak\"/' ${SPEECHD_CONF} sed -i '/^#AudioALSADevice \"default\".*/ s/.*/&\nAudioALSADevice \"default\"/' ${SPEECHD_CONF} # Commented - single space sed -i '/^# AudioOutputMethod \"pulse\".*/ s/.*/&\nAudioOutputMethod \"alsa\"/' ${SPEECHD_CONF} - - - diff --git a/020_tmux.sh b/020_tmux.sh index bc4eb7f..0f92d59 100644 --- a/020_tmux.sh +++ b/020_tmux.sh @@ -1,3 +1,4 @@ +apt-get update apt-get install -y tmux apt-get install -y tmux-plugin-manager apt-get install -y tmuxp # uses python rather than ruby used by tmuxinator. diff --git a/020_vim.sh b/020_vim.sh index 1c8d0d9..10226b5 100644 --- a/020_vim.sh +++ b/020_vim.sh @@ -372,7 +372,8 @@ apt-get install -y python-dev python3-dev #./build.py --all # jedi-vim (since youcompleteme seems to just crash) -#apt-get install -y python-pip +apt-get install -y python-pip #pip install jedi -apt-get install -y vim-python-jedi -apt-get install -y prospector +apt-get install -y vim-python-jedi pylama pylint flake8 +#apt-get install -y prospector +pip install prospector[with_pyroma] diff --git a/020_waterfox.sh b/020_waterfox.sh index 1d207ab..0721cd6 100644 --- a/020_waterfox.sh +++ b/020_waterfox.sh @@ -17,9 +17,17 @@ apt-key add - < Release.key apt-get update -apt-get install -y waterfox +# waterfox-classic-kde - KDE Plasma integration for Waterfox Classic +# waterfox-classic-kpe - Free, open and private browser with openSUSE's patches for better integration with KDE +# waterfox-classic-i18n-en-gb - English (British) language pack for Waterfox Classic -update-alternatives --install /usr/bin/x-www-browser x-www-browser /usr/bin/waterfox 201 +# waterfox-current-kde - KDE Plasma integration for Waterfox Current +# waterfox-current-kpe - Free, open and private browser with better integration with KDE +# waterfox-current-i18n-en-gb - English (British) language pack for Waterfox Current + +apt-get install -y waterfox-classic-kpe watefox-classic-i18n-en-gb + +update-alternatives --install /usr/bin/x-www-browser x-www-browser /usr/bin/waterfox-classic 201 # Themes ## Australis Dark - enabled in Firefox 53 diff --git a/101_livecd-add-zfs.sh b/101_livecd-add-zfs.sh index 944c45e..327250f 100644 --- a/101_livecd-add-zfs.sh +++ b/101_livecd-add-zfs.sh @@ -39,7 +39,9 @@ do done EOF -chroot ${ZFS_HOME} dpkg-reconfigure zfs-dkms +#chroot ${ZFS_HOME} dpkg-reconfigure zfs-dkms + +chroot ${ZFS_HOME} ls /var/lib/initramfs-tools | sudo xargs -n1 /usr/lib/dkms/dkms_autoinstaller start chroot ${ZFS_HOME} bash -c 'apt-get -y -f install' diff --git a/onivim2.sh b/onivim2.sh new file mode 100644 index 0000000..0bc7e15 --- /dev/null +++ b/onivim2.sh @@ -0,0 +1,11 @@ +apt-get install jq + +set +x +PROJECT=onivim/oni +RELEASE=$(curl "https://api.github.com/repos/${PROJECT}/releases?per_page=5" | jq -r '.[0] | .tag_name') +VERSION=$(echo "${RELEASE}" | cut -c 2- | cut -f1 -d"-") +DOWNLOAD_DIR=/tmp + +wget -c --directory-prefix "${DOWNLOAD_DIR}" https://github.com/onivim/oni/releases/download/"${RELEASE}"/Oni-"${VERSION}"-amd64-linux.deb + +sudo dpkg -i "${DOWNLOAD_DIR}/Oni-${VERSION}-amd64-linux.deb"