From bebaebe81d2c1e5caca994d83e3467cacc3478aa Mon Sep 17 00:00:00 2001 From: Cyteen Date: Mon, 19 Feb 2018 12:37:17 +0000 Subject: [PATCH 01/64] Change 3x ip for opennic servers. --- 001_resolvconf.sh | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/001_resolvconf.sh b/001_resolvconf.sh index 7467bbe..6bdf2e5 100644 --- a/001_resolvconf.sh +++ b/001_resolvconf.sh @@ -1,5 +1,7 @@ apt-get -y install --reinstall resolvconf mkdir -p /etc/resolvconf/resolv.conf.d/ -bash -c 'echo "nameserver 52.174.55.168 >> /etc/resolvconf/resolv.conf.d/head' -bash -c 'echo "nameserver 188.165.200.156" >> /etc/resolvconf/resolv.conf.d/head' +bash -c 'echo "nameserver 62.113.203.55" >> /etc/resolvconf/resolv.conf.d/head' +bash -c 'echo "nameserver 82.141.39.32" >> /etc/resolvconf/resolv.conf.d/head' +bash -c 'echo "nameserver 51.254.141.22" >> /etc/resolvconf/resolv.conf.d/head' +bash -c 'echo "options timeout 1 attempts 1 rotate" >> /etc/resolvconf/resolv.conf.d/tail' /etc/init.d/resolvconf reload From 67e991f248f4f1604c1e41f0551bf641772bb602 Mon Sep 17 00:00:00 2001 From: Cyteen Date: Mon, 19 Feb 2018 12:38:33 +0000 Subject: [PATCH 02/64] Add mpv and tidy. --- 010_apt-get.sh | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/010_apt-get.sh b/010_apt-get.sh index 454fc57..2a30c50 100644 --- a/010_apt-get.sh +++ b/010_apt-get.sh @@ -1,4 +1,7 @@ -apt-get -y install curl apt-file +apt-get -y install software-properties-common apt-transport-https wget curl lvm2 +apt-get -y install apt-file +apt-get -y install tree +apt-get -y install tmux apt-get -y install xclip apt-get -y install sshpass apt-get -y install git @@ -12,21 +15,21 @@ apt-get -y install kpartx apt-get -y install inxi apt-get -y --force-yes install xmlstarlet apt-get -y install hexedit -apt-get -y install geeqie apt-get -y install sshpass apt-get -y install wicd-curses apt-get -y install htop apt-get -y install iotop -apt-get -y install atril +apt-get -y install mpv apt-get -y install youtube-dl -apt-get -y install rox-filer apt-get -y install checkinstall apt-get -y install ntp ntpdate apt-get -y install gstreamer1.0-plugins-ugly gstreamer1.0-plugins-good gstreamer1.0-libav -apt-get -y install libreoffice-pdfimport -apt-get -y install terminology apt-get -y install firmware-iwlwifi #For thinkpad wifi: Intel 5100 AGN [Shiloh] apt-get -y install grub-pc grub2 gpart -apt-get install -y vim-gtk software-properties-common apt-transport-https wget curl lvm2 +apt-get -y install rox-filer +apt-get -y install atril +apt-get -y install libreoffice-pdfimport +apt-get -y install terminology +apt-get -y install geeqie From 059dff88e9264c3939a4ead689ecd85400944b13 Mon Sep 17 00:00:00 2001 From: Cyteen Date: Mon, 19 Feb 2018 12:40:17 +0000 Subject: [PATCH 03/64] Make sure completitions for zsh are available. --- 010_saltstack.sh | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/010_saltstack.sh b/010_saltstack.sh index 6b0ced6..173966c 100644 --- a/010_saltstack.sh +++ b/010_saltstack.sh @@ -113,3 +113,12 @@ apt-get install -yq -o -o DPkg::Options::=--force-confold --no-install-recommend # apt-get upgrade -y -o DPkg::Options::=--force-confold && \ # apt-get install -y -o DPkg::Options::=--force-confold curl # curl -L https://bootstrap.saltstack.com | sh -s -- -X git develop + +# salt-common in debian is missing zsh completions +# source: https://github.com/saltstack/salt/tree/develop/pkg/ *.{bash,zsh} +# FYI: completition provided by salt-common pkg + +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 From 1143cc900a360093d2d6ce2e867a9c34b18f08ea Mon Sep 17 00:00:00 2001 From: Cyteen Date: Mon, 19 Feb 2018 12:42:03 +0000 Subject: [PATCH 04/64] Enable non-root read access for zfs via sudo. --- 010_zfs.sh | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/010_zfs.sh b/010_zfs.sh index 99cc6a7..5882423 100644 --- a/010_zfs.sh +++ b/010_zfs.sh @@ -2,10 +2,35 @@ apt-get install -y dkms busybox-static apt-get install -y initramfs-tools dh-autoreconf apt-get install -y spl spl-dkms -apt-get install -y zfs-dkms zfs-initramfs +apt-get install -y zfs-dkms zfs-initramfs zfsutils-linux apt-get install -y zfs-zed # linux default, mount partitions even if non-empty, the no option really only makes sense if the directory being mounted on has been declared as a mount point only and is therefore guaranteed to be empty. sed -i "s,^\(DO_OVERLAY_MOUNTS=\).*,\1\'yes\'," /etc/default/zfs +# Allow readonly zfs to non-root users in sudoers (put in place by zfsutils-linux) +sed -ie 's/^#//' /etc/sudoers.d/zfs + +## or change below to change sudo behavior further: +#cat > /etc/sudoers.d/zfs << 'EOF' +## Allow read-only ZoL commands to be called through sudo +## without a password. Remove the first '#' column to enable. +## +## CAUTION: Any syntax error introduced here will break sudo. +## +## Cmnd alias specification +#Cmnd_Alias C_ZFS = \ +# /sbin/zfs "", /sbin/zfs help *, \ +# /sbin/zfs get, /sbin/zfs get *, \ +# /sbin/zfs list, /sbin/zfs list *, \ +# /sbin/zpool "", /sbin/zpool help *, \ +# /sbin/zpool iostat, /sbin/zpool iostat *, \ +# /sbin/zpool list, /sbin/zpool list *, \ +# /sbin/zpool status, /sbin/zpool status *, \ +# /sbin/zpool upgrade, /sbin/zpool upgrade -v +# +## allow any user to use basic read-only ZFS commands +#ALL ALL = (root) NOPASSWD: C_ZFS +#EOF + modprobe zfs From b5bcf2f416366fd28b3caa42619d341f846ce5d3 Mon Sep 17 00:00:00 2001 From: Cyteen Date: Mon, 19 Feb 2018 12:43:20 +0000 Subject: [PATCH 05/64] Minor change to fix system .desktop. --- 020_djmount.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/020_djmount.sh b/020_djmount.sh index a3e7b9b..43ba53b 100644 --- a/020_djmount.sh +++ b/020_djmount.sh @@ -18,14 +18,14 @@ Hidden=false EOF chmod +x ~/.config/autostart/djmount.desktop -bash -c "cat > /usr/share/applications/djmount.desktop" < /usr/share/applications/djmount.desktop" <<'EOF' [Desktop Entry] Encoding=UTF-8 Version=0.71 Type=Application Name=djmount Comment=UPNP/DLNA -Exec=sh -c "/usr/bin/djmount ${DJMOUNT_DIR}" +Exec=sh -c "/usr/bin/djmount ${HOME}" StartupNotify=false Terminal=false Hidden=false From 17fd20b17c37553536c1261666889214b4811b03 Mon Sep 17 00:00:00 2001 From: Cyteen Date: Mon, 19 Feb 2018 12:54:55 +0000 Subject: [PATCH 06/64] Improved explaination of cgmanager deprecation. --- 020_lxc.sh | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/020_lxc.sh b/020_lxc.sh index 78905b3..c1a86e8 100644 --- a/020_lxc.sh +++ b/020_lxc.sh @@ -1,4 +1,8 @@ -apt-get install lxc dnsmasq +# NB. cgmanager for nested unprivileged containers has been deprecated (dbus usage was a bad idea) +# in favor of lxcfs on older kernels or the kernels CGroup Namespace on newer, expect lxcfs to go +# the same way as cgmanager, just use newer kernels. + +apt-get install lxc lxcfs dnsmasq # lxc-net configuration sourced from /usr/lib/x86_64-linux-gnu/lxc/lxc-net which contains the default values which means your bridge will be given a subnet of 10.0.3.0. From 50b073ee8424631a40d90422bf4ff4847ac44627 Mon Sep 17 00:00:00 2001 From: Cyteen Date: Mon, 19 Feb 2018 12:56:12 +0000 Subject: [PATCH 07/64] Fix heredoc syntax. --- 020_wireguard.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/020_wireguard.sh b/020_wireguard.sh index 726660a..48c1e06 100644 --- a/020_wireguard.sh +++ b/020_wireguard.sh @@ -12,10 +12,10 @@ PRIVATEKEY=$(wg genkey) PUBLICKEY=$(echo ${PRIVATEKEY} | wg pubkey) PEERPUBLIC="IUV3V1SwE1b+6HbJPoVg5XGrkSS8re3oV4JamDbmrC0=" -(umask 077 && printf "[Interface]\nPrivateKey = " | sudo tee /etc/wireguard/wg0.conf > /dev/null) -wg genkey | sudo tee -a /etc/wireguard/wg0.conf | wg pubkey | sudo tee /etc/wireguard/publickey +#(umask 077 && printf "[Interface]\nPrivateKey = " | sudo tee /etc/wireguard/wg0.conf > /dev/null) +#wg genkey | sudo tee -a /etc/wireguard/wg0.conf | wg pubkey | sudo tee /etc/wireguard/publickey -echo > /etc/wireguard/wg0.conf<< "EOF" +cat > /etc/wireguard/wg0.conf<<"EOF" [Interface] PrivateKey = ${PRIVATEKEY} ListenPort = ${LISTENPORT} From ecf6fff359a12afc1939251c8eeeb470d5c1457b Mon Sep 17 00:00:00 2001 From: Cyteen Date: Mon, 19 Feb 2018 12:57:48 +0000 Subject: [PATCH 08/64] Add more examples. --- 020_xorg.sh | 30 ++++++++++++++++++++++++++++-- 1 file changed, 28 insertions(+), 2 deletions(-) diff --git a/020_xorg.sh b/020_xorg.sh index c2dd1c9..437f92a 100644 --- a/020_xorg.sh +++ b/020_xorg.sh @@ -1,5 +1,12 @@ + +TRACKPAD=51-synapics-trackpad.conf +TRACKPOINT=52-alps-trackpoint.conf +XORG_CONFDIR=/etc/X11/xorg.conf.d + +mkdir -p ${XORG_CONFDIR} + # trackpoint -echo > /etc/X11/xorg.conf.d/trackpoint.conf << 'EOF' +echo > ${XORG_CONFDIR}/${TRACKPOINT} < /etc/X11/xorg.conf.d/trackpad.conf << 'EOF' +echo > ${XORG_CONFDIR}/${TRACKPAD} < ${XORG_CONFDIR}/${TRACKPOINT} < Date: Mon, 19 Feb 2018 13:00:18 +0000 Subject: [PATCH 09/64] Add option from tor browser. --- 025_firefox-extensions.sh | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/025_firefox-extensions.sh b/025_firefox-extensions.sh index 27601a6..56317d5 100644 --- a/025_firefox-extensions.sh +++ b/025_firefox-extensions.sh @@ -21,6 +21,11 @@ apt-get -y install xul-ext-firexpath #user_pref("browser.search.geoSpecificDefaults","false"); #user_pref("browser.reader.detectedFirstArticle", true);//Disable obnoxious Reader View nag popup +#// From tor browser +#user_pref("privacy.firstparty.isolate", true); + +#// stop thirdparty cookies +#network.cookie.cookieBehavior=1 #// Disable Shield Recipe Client #user_pref("app.shield.optoutstudies.enabled", false); From 4e3128d262c590e05a96ebb37e5669269c141a2f Mon Sep 17 00:00:00 2001 From: Cyteen Date: Mon, 19 Feb 2018 13:01:21 +0000 Subject: [PATCH 10/64] Fix typo. --- 050_set-reboot_policykit-1.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/050_set-reboot_policykit-1.sh b/050_set-reboot_policykit-1.sh index a1d226a..b4be490 100644 --- a/050_set-reboot_policykit-1.sh +++ b/050_set-reboot_policykit-1.sh @@ -81,7 +81,7 @@ xmlstarlet edit -L -u "/policyconfig/action[@id='org.freedesktop.consolekit.syst xmlstarlet edit -L -u "/policyconfig/action[@id='org.freedesktop.consolekit.system.stop-multiple-users']"/defaults/allow_active -v ${SYSTEM_STOP_MULTI} ${POLKIT_HOME}/actions/org.freedesktop.consolekit.policy -xmlstarlet edit -L -u "/policyconfig/action[@id='org.freedesktop.consolekit.system.restart']/defaults/allow_active -v ${SYSTEM_RESTART} ${POLKIT_HOME}/actions/org.freedesktop.consolekit.policy +xmlstarlet edit -L -u "/policyconfig/action[@id='org.freedesktop.consolekit.system.restart']"/defaults/allow_active -v ${SYSTEM_RESTART} ${POLKIT_HOME}/actions/org.freedesktop.consolekit.policy xmlstarlet edit -L -u "/policyconfig/action[@id='org.freedesktop.consolekit.system.restart-multiple-users']"/defaults/allow_active -v ${SYSTEM_RESTART_MULTI} ${POLKIT_HOME}/actions/org.freedesktop.consolekit.policy From 14dfef2dfba31c1ab753dd33bc928f9e3d544742 Mon Sep 17 00:00:00 2001 From: Cyteen Date: Mon, 19 Feb 2018 13:01:59 +0000 Subject: [PATCH 11/64] Initial commit. --- 010_nosh.sh | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 171 insertions(+) create mode 100644 010_nosh.sh diff --git a/010_nosh.sh b/010_nosh.sh new file mode 100644 index 0000000..4e70886 --- /dev/null +++ b/010_nosh.sh @@ -0,0 +1,171 @@ +## https://jdebp.eu/Softwares/nosh/debian-binary-packages.html +# Documentation +apt-get install -y nosh-guide_1.37_amd64.deb + +## Toolsets + +# (exec, nosh, and the chain-loading utilities) +apt-get install -y nosh-exec_1.37_amd64.deb +# (system-manager, service-manager, system-control, service-control and related utilities) +apt-get install -y nosh-service-management_1.37_amd64.deb +# (console-terminal-emulator, vc-get-tty, pty-get-tty, ttylogin-starter and related utilities) +apt-get install -y nosh-terminal-management_1.37_amd64.deb +# (ptybandage, ptyrun and related utilities) +apt-get install -y nosh-terminal-extras_1.37_amd64.deb +# (tcpserver shim) +apt-get install -y nosh-ucspi-tcp-shims_1.37_amd64.deb +# (Z Shell completions for the toolsets) +apt-get install -y nosh-zsh-completion_1.37_amd64.deb +# (systemd and servicectl shims for systemd compatibility) +apt-get install -y nosh-systemd-shims_1.37_amd64.deb +# (halt, reboot, poweroff, telinit, chkconfig, and related shims for old-style System 5/BSD compatibility) +apt-get install -y nosh-systemv-shims_1.37_amd64.deb +# (start, stop, initctl, and related shims for upstart compatibility) +apt-get install -y nosh-upstart-shims_1.37_amd64.deb +# (service shim for old-style System 5/BSD compatibility) +apt-get install -y nosh-service-command-shim_1.37_amd64.deb +# (invoke-rc.d and update-rc.d shims for Debian compatibility) +apt-get install -y nosh-debian-shims_1.37_amd64.deb +# (fasthalt, fastboot, and fastpoweroff shims for BSD compatibility) +apt-get install -y nosh-bsd-shims_1.37_amd64.deb +# (rcctl and and related shims for OpenBSD compatibility) +apt-get install -y nosh-openbsd-shims_1.37_amd64.deb +# (utx and and related shims for FreeBSD compatibility) +apt-get install -y nosh-freebsd-shims_1.37_amd64.deb +# (resizecons, clear_console, and chvt shims for compatibility with the old kbd package) +apt-get install -y nosh-kbd-shims_1.37_amd64.deb + +## Service bundles +apt-get install -y nosh-bundles_1.37_amd64.deb + +## system-manager as process #1 +apt-get install -y nosh-run-system-manager_1.37_amd64.deb + + +## Base services +# includes virecover and Debian cron. +apt-get install -y nosh-run-debian-server-base_1.37_amd64.deb +# CUPS, anacron, and Sun RPC. +#apt-get install -y nosh-run-debian-desktop-base_1.37_amd64.deb + +## Change the Desktop Bus helper program +## Fix udev behaviour on non-systemd +# The nosh toolset comes with one such replacement helper program, dbus-daemon-launch-helper, that can use system-control to speak to nosh service management, initctl to speak to upstart service management, or systemctl to speak to systemd service management. + +## Edit /etc/dbus-1/system.conf +## replace: +# +# /usr/lib/dbus-1.0/dbus-daemon-launch-helper +## with: +# +# /usr/local/bin/dbus-daemon-launch-helper + +DBUS_HOME=/usr/share/polkit-1 +# xmlstarlet will parse then output valid xml but removes whitespace lines people should either use +# xml or a user readable format. +#SERVICE_HELPER=/usr/local/bin/dbus-daemon-launch-helper +#xmlstarlet edit -L -u "/busconfig/servicehelper" -v ${SERVICE_HELPER} ${DBUS_HOME}/system.conf + +# sed to edit xml is bad but works and preserves layout but does not guarantee valid xml. +COMMENT_OLD="<\!-- This is a setuid helper that is used to launch system services -->" +COMMENT_NEW="<\!-- This is a non-setuid helper that is used to tell service management to launch system services -->" +sed -i -e s"|${COMMENT_OLD}|${COMMENT_NEW}|" ${DBUS_HOME}/system.conf + +SERVICE_HELPER_OLD="/usr/lib/dbus-1.0/dbus-daemon-launch-helper" +SERVICE_HELPER_NEW="/usr/local/bin/dbus-daemon-launch-helper" +sed -i -e s"|${SERVICE_HELPER_OLD}|${SERVICE_HELPER_NEW}|" ${DBUS_HOME}/system.conf + +## Plug and play device managers + +# (vdev) +#apt-get install nosh-run-vdev_1.37_amd64.deb (vdev) +# (systemd's udev) +apt-get install -y nosh-run-udev_1.37_amd64.deb +# (busybox mdev) +#apt-get install nosh-run-busybox-mdev_1.37_amd64.deb +# (suckless mdev) +#apt-get install nosh-run-suckless-mdev_1.37_amd64.deb + +## Virtual terminal services + +# (old-style kernel virtual terminals) +#apt-get install -y nosh-run-kernel-vt_1.37_amd64.deb +# (a new-style application-mode virtual terminal) +apt-get install -y nosh-run-user-vt_1.37_amd64.deb + +## Freedesktop.org "kit" services +# (Freedesktop.org "kit" services — packagekit, consolekit, policykit, NetworkManager, ModemManager et al.) +#apt-get install -y nosh-run-freedesktop-kits_1.37_amd64.deb + +## VirtualBox Guest Additions +apt-get install -y nosh-run-virtualbox-guest_1.37_amd64.deb + +## kernel log service + +apt-get install -y nosh-run-klog_1.37_amd64.deb + +## local syslog() service +# old-style logging service to programs that still use /dev/log. +apt-get install -y nosh-run-local-syslog_1.37_amd64.deb + +# Index of ftp://repository.jdebp.info./debian/dists/stable/main/binary-amd64/ +# +# Packages +# Packages.bz2 +# clockspeed_7_amd64.deb +# daemontools_7_amd64.deb +# djbdns-host_7_amd64.deb +# djbdns_7_amd64.deb +# leapsecs_7_amd64.deb +# libtai_7_amd64.deb +# multilog_7_amd64.deb +# +# nosh-bsd-services_1.13_amd64.deb +# nosh-bsd-shims_1.37_amd64.deb +# nosh-bsd-sockets_1.13_amd64.deb +# nosh-bundles_1.37_amd64.deb +# nosh-core-shims_1.37_amd64.deb +# nosh-debian-shims_1.37_amd64.deb +# nosh-exec_1.37_amd64.deb +# nosh-execline-shims_1.37_amd64.deb +# nosh-freebsd-shims_1.37_amd64.deb +# nosh-guide_1.37_amd64.deb +# nosh-kbd-shims_1.37_amd64.deb +# nosh-logrotate-shims_1.37_amd64.deb +# nosh-openbsd-shims_1.37_amd64.deb +# nosh-regular-services_1.13_amd64.deb +# nosh-regular-sockets_1.13_amd64.deb +# +# nosh-run-appletalk_1.37_amd64.deb +# nosh-run-busybox-mdev_1.37_amd64.deb +# nosh-run-debian-desktop-base_1.37_amd64.deb +# nosh-run-debian-server-base_1.37_amd64.deb +# nosh-run-freedesktop-kits_1.37_amd64.deb +# nosh-run-freedesktop-system-bus_1.37_amd64.deb +# nosh-run-kernel-vt_1.37_amd64.deb +# nosh-run-klog_1.37_amd64.deb +# nosh-run-local-syslog_1.37_amd64.deb +# nosh-run-openssh-server_1.37_amd64.deb +# nosh-run-suckless-mdev_1.37_amd64.deb +# nosh-run-system-manager_1.37_amd64.deb +# nosh-run-systemd-udev_1.37_amd64.deb +# nosh-run-udev_1.37_amd64.deb +# nosh-run-user-vt_1.37_amd64.deb +# nosh-run-vdev_1.37_amd64.deb +# nosh-run-via-systemd_1.37_amd64.deb +# +# nosh-service-command-shim_1.37_amd64.deb +# nosh-service-management_1.37_amd64.deb +# nosh-systemd-services_1.14_amd64.deb +# nosh-systemv-shims_1.37_amd64.deb +# nosh-terminal-extras_1.37_amd64.deb +# nosh-terminal-management_1.37_amd64.deb +# nosh-ucspi-tcp-shims_1.37_amd64.deb +# nosh-upstart-shims_1.37_amd64.deb +# nosh-zsh-completion_1.37_amd64.deb +# nosh_1.28_amd64.changes +# +# ptyget_7_amd64.deb +# publicfile_7_amd64.deb +# redo_1.4_amd64.deb +# taiclockd_7_amd64.deb From d8bc9a858e7520e72712ea63f44b759af65917a6 Mon Sep 17 00:00:00 2001 From: Cyteen Date: Mon, 19 Feb 2018 13:02:30 +0000 Subject: [PATCH 12/64] Initial commit. --- 020_lxd.sh | 92 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 92 insertions(+) create mode 100644 020_lxd.sh diff --git a/020_lxd.sh b/020_lxd.sh new file mode 100644 index 0000000..6c913d6 --- /dev/null +++ b/020_lxd.sh @@ -0,0 +1,92 @@ +groupadd --system lxd +adduser --system lxd lxd + +## Add user to lxd group to allow non-privileged user access to LXD +#usermod -a -G lxd + +sudo apt update +sudo apt install acl dnsmasq-base git golang liblxc1 lxcfs lxc-dev python-pylxd libacl1-dev make pkg-config rsync squashfs-tools tar xz-utils + +#============================================================================= +# golang deps +#golang-any-shared-dev use: +apt-get install golang-any # or similar + +# golang-yaml.v2-dev transitional for +apt-get install golang-gopkg-yaml.v2-dev + +#golang-websocket-dev transitional for +apt-get install golang-github-gorilla-websocket-dev + +# golang-go.crypto-dev transitional package for: +apt-get install golang-golang-x-crypto-dev + +apt-get install \ + golang-petname-dev \ + golang-context-dev \ + golang-github-gorilla-mux-dev \ + golang-github-gosexy-gettext-dev \ + golang-github-mattn-go-colorable-dev \ + golang-github-mattn-go-sqlite3-dev \ + golang-github-olekukonko-tablewriter-dev \ + golang-github-pborman-uuid-dev \ + golang-gocapability-dev \ + golang-gopkg-tomb.v2-dev \ + golang-gopkg-flosch-pongo2.v3-dev \ + golang-github-inconshreveable-log15.v2-dev + +#============================================================================= +# Missing - build from git as it's in NEW +# golang-gopkg-lxc-go-lxc.v2-dev + +# build deps: +apt-get install \ + dh-golang \ + golang-go\ + lxc-dev\ + pkg-config + +# https://pkg-go.alioth.debian.org/workflow-changes.html +#dget -u http://archive.ubuntu.com/ubuntu/pool/main/g/golang-gopkg-lxc-go-lxc.v2/golang-gopkg-lxc-go-lxc.v2_0.0~git20160405.0.85d46fc-0ubuntu2.dsc + +git clone https://anonscm.debian.org/cgit/pkg-go/packages/golang-gopkg-lxc-go-lxc.v2.git +cd ./golang-gopkg-lxc-go-lxc.v2 +apt-get install cowbuilder dh-golang + +DIST=$(lsb_release --short --codename) +ARCH=$(dpkg --print-architecture) +#DIST=ascii ARCH=amd64 git-pbuilder create +DIST=${DIST} ARCH=${ARCH} git-pbuilder update + +gbp buildpackage --git-pbuilder --git-arch=${ARCH} --git-dist=${DIST} + +# Should probably use a containerized reprepro FIXME +cp golang-gopkg-lxc-go-lxc.v2-dev_*_all.deb /srv/pbuilder/deps/ + +#============================================================================= +# LXD +# Build-Depends: +apt-get install \ + debhelper \ + dh-apparmor \ + dh-golang \ + golang-go \ + help2man \ + libacl1-dev \ + libsqlite3-dev \ + lxc-dev \ + pkg-config \ + python3-lxc + +# dsc creates +# lxd, +# lxd-tools, +# lxd-client, +# lxc2, in debian just lxc 1:2.0.7-2 +# golang-github-lxc-lxd-dev + +#dget -u http://archive.ubuntu.com/ubuntu/pool/main/l/lxd/lxd_2.21-0ubuntu3.dsc +#dget -u http://archive.ubuntu.com/ubuntu/pool/main/l/lxd/lxd_2.21-0ubuntu3~16.04.1.dsc +#dget -u http://archive.ubuntu.com/ubuntu/pool/main/l/lxd/lxd_2.21-0ubuntu3~17.10.1.dsc + +git clone https://github.com/lxc/lxd-pkg-ubuntu From 58fc12830d4411e1cc770a5bab52218ad919991c Mon Sep 17 00:00:00 2001 From: Cyteen Date: Mon, 19 Feb 2018 13:02:59 +0000 Subject: [PATCH 13/64] Initial commit. --- 020_pbuilder.sh | 167 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 167 insertions(+) create mode 100644 020_pbuilder.sh diff --git a/020_pbuilder.sh b/020_pbuilder.sh new file mode 100644 index 0000000..6550699 --- /dev/null +++ b/020_pbuilder.sh @@ -0,0 +1,167 @@ +apt-get install -y cowbuilder dh-golang ccache + +DIST=ascii +DIST=$(lsb_release --short --codename) +ARCH=$(dpkg --print-architecture) +echo "DIST: " "${DIST}" +echo "ARCH: " "${ARCH}" +DEP_DIR=/srv/pbuilder/deps +HOOK_DIR=/srv/pbuilder/hook.d + +mkdir -p ${DEP_DIR} +mkdir -p ${HOOK_DIR} + +# Should probably use a containerized reprepro FIXME +cat > /etc/pbuilderrc << 'EOF' +set -x +# this is your configuration file for pbuilder. +# the file in /usr/share/pbuilder/pbuilderrc is the default template. +# /etc/pbuilderrc is the one meant for overwriting defaults in +# the default template +# +# read pbuilderrc.5 document for notes on specific options. + +# Codenames for Debian suites according to their alias. Update these when +# needed. +UNSTABLE_CODENAME="sid" +TESTING_CODENAME="buster" +STABLE_CODENAME="stretch" +STABLE_BACKPORTS_SUITE="$STABLE_CODENAME-backports" + +UNSTABLE_DEVUAN="ceres" +TESTING_DEVUAN="beowulf" +STABLE_DEVUAN="ascii" +OLDSTABLE_DEVUAN="jessie" + +OLDSTABLE_BACKPORTS_DEVUAN="$OLDSTABLE_DEVUAN-backports" +OLDSTABLE_PROPOSED_BACKPORTS_DEVUAN="$OLDSTABLE_DEVUAN-proposed-backports" +OLDSTABLE_PROPOSED_SECURITY_DEVUAN="$OLDSTABLE_DEVUAN-propsed-security" +OLDSTABLE_PROPOSED_UPDATES_DEVUAN="$OLDSTABLE_DEVUAN-proposed-updates" +OLDSTABLE_PROPOSED_DEVUAN="$OLDSTABLE_DEVUAN-proposed" +OLDSTABLE_SECURITY_DEVUAN="$OLDSTABLE_DEVUAN-security" +OLDSTABLE_UPDATES_DEVUAN="$OLDSTABLE_DEVUAN-updates" + +STABLE_BACKPORTS_DEVUAN="$STABLE_DEVUAN-backports" +STABLE_PROPOSED_BACKPORTS_DEVUAN="$STABLE_DEVUAN-proposed-backports" +STABLE_PROPOSED_SECURITY_DEVUAN="$STABLE_DEVUAN-propsed-security" +STABLE_PROPOSED_UPDATES_DEVUAN="$STABLE_DEVUAN-proposed-updates" +STABLE_PROPOSED_DEVUAN="$STABLE_DEVUAN-proposed" +STABLE_SECURITY_DEVUAN="$STABLE_DEVUAN-security" +STABLE_UPDATES_DEVUAN="$STABLE_DEVUAN-updates" + +TESTING_PROPOSED_SECURITY_DEVUAN="$TESTING_DEVUAN-propsed-security" +TESTING_PROPOSED_UPDATES_DEVUAN="$TESTING_DEVUAN-proposed-updates" +TESTING_PROPOSED_DEVUAN="$TESTING_DEVUAN-proposed" +TESTING_SECURITY_DEVUAN="$TESTING_DEVUAN-security" +TESTING_UPDATES_DEVUAN="$TESTING_DEVUAN-updates" + +# List of Devuan suites. + +DEVUAN_SUITES=( +$UNSTABLE_DEVUAN +$TESTING_DEVUAN +$STABLE_DEVUAN + +$OLDSTABLE_BACKPORTS_DEVUAN +$OLDSTABLE_PROPOSED_BACKPORTS_DEVUAN +$OLDSTABLE_PROPOSED_SECURITY_DEVUAN +$OLDSTABLE_PROPOSED_UPDATES_DEVUAN +$OLDSTABLE_PROPOSED_DEVUAN +$OLDSTABLE_SECURITY_DEVUAN +$OLDSTABLE_UPDATES_DEVUAN + +$STABLE_BACKPORTS_DEVUAN +$STABLE_PROPOSED_BACKPORTS_DEVUAN +$STABLE_PROPOSED_SECURITY_DEVUAN +$STABLE_PROPOSED_UPDATES_DEVUAN +$STABLE_PROPOSED_DEVUAN +$STABLE_SECURITY_DEVUAN +$STABLE_UPDATES_DEVUAN + +$TESTING_PROPOSED_SECURITY_DEVUAN +$TESTING_PROPOSED_UPDATES_DEVUAN +$TESTING_PROPOSED_DEVUAN +$TESTING_SECURITY_DEVUAN +$TESTING_UPDATES_DEVUAN + "experimental" "unstable" "testing" "stable") + +# List of Debian suites. +DEBIAN_SUITES=($UNSTABLE_CODENAME $TESTING_CODENAME $STABLE_CODENAME $STABLE_BACKPORTS_SUITE + "experimental" "unstable" "testing" "stable") + +# List of Ubuntu suites. Update these when needed. +UBUNTU_SUITES=("xenial" "wily" "vivid" "utopic" "trusty") + +# Mirrors to use. Update these to your preferred mirror. +DEBIAN_MIRROR="deb.debian.org" +UBUNTU_MIRROR="mirrors.kernel.org" +DEVUAN_MIRROR="pkgmaster.devuan.org" + +# Optionally set a default distribution if none is used. Note that you can set +# your own default (i.e. ${DIST:="unstable"}). +#: ${DIST:="$(lsb_release --short --codename)"} +DIST="$(lsb_release --short --codename)" + +# Optionally set the architecture to the host architecture if none set. Note +# that you can set your own default (i.e. ${ARCH:="i386"}). +#: ${ARCH:="$(dpkg --print-architecture)"} +ARCH="$(dpkg --print-architecture)" + +echo "DIST: " "$DIST" +echo "ARCH: " "$ARCH" + +NAME="$DIST" +if [ -n "${ARCH}" ]; then + NAME="$NAME-$ARCH" + DEBOOTSTRAPOPTS=("--arch" "$ARCH" "${DEBOOTSTRAPOPTS[@]}") +fi + +BASETGZ="/var/cache/pbuilder/$NAME-base.tgz" +DISTRIBUTION="$DIST" +BUILDRESULT="/var/cache/pbuilder/$NAME/result/" +APTCACHE="/var/cache/pbuilder/$NAME/aptcache/" +BUILDPLACE="/var/cache/pbuilder/build/" +PBUILDERSATISFYDEPENDSCMD="/usr/lib/pbuilder/pbuilder-satisfydepends-gdebi" +CCACHEDIR=/var/cache/pbuilder/ccache + +echo "DIST: " "$DIST" +echo "ARCH: " "$ARCH" + +if $(echo ${DEVUAN_SUITES[@]} | grep -q $DIST); then + # Devuan configuration + MIRRORSITE="http://${DEVUAN_MIRROR}/merged/" + COMPONENTS="main contrib non-free" + +elif $(echo ${DEBIAN_SUITES[@]} | grep -q $DIST); then + # Debian configuration + MIRRORSITE="http://$DEBIAN_MIRROR/debian/" + COMPONENTS="main contrib non-free" + if $(echo "$STABLE_CODENAME stable" | grep -q $DIST); then + OTHERMIRROR="$OTHERMIRROR | deb $MIRRORSITE $STABLE_BACKPORTS_SUITE $COMPONENTS" + fi + +elif $(echo ${UBUNTU_SUITES[@]} | grep -q $DIST); then + # Ubuntu configuration + MIRRORSITE="http://$UBUNTU_MIRROR/ubuntu/" + COMPONENTS="main restricted universe multiverse" +else + echo "Unknown distribution: $DIST" + exit 1 +fi + +OTHERMIRROR="deb [trusted=yes] file:///srv/pbuilder/deps ./" +BINDMOUNTS=/srv/pbuilder/deps +HOOKDIR=/srv/pbuilder/hook.d +EXTRAPACKAGES="apt-utils" +EOF + +cat > ${HOOK_DIR}/D05deps << 'EOF' +#!/bin/bash +(cd /srv/pbuilder/deps; apt-ftparchive packages . > Packages) +apt-get update +EOF + +#Update cow image on changes above +#DIST=${DIST} ARCH=${ARCH} git-pbuilder create --override-config --mirror http://pkgmaster.devuan.org +DIST=${DIST} ARCH=${ARCH} git-pbuilder create + From 42d328b835356bd9075088247be5dcb324c9e2d1 Mon Sep 17 00:00:00 2001 From: Cyteen Date: Mon, 19 Feb 2018 13:03:33 +0000 Subject: [PATCH 14/64] Initial commit. --- update-docker-daemon-json.sh | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 update-docker-daemon-json.sh diff --git a/update-docker-daemon-json.sh b/update-docker-daemon-json.sh new file mode 100644 index 0000000..85a1bcd --- /dev/null +++ b/update-docker-daemon-json.sh @@ -0,0 +1,21 @@ +mkdir -p /etc/docker +if [ ! -f /etc/docker/daemon.json ] +then + touch /etc/docker/daemon.json + echo "{}" > /etc/docker/daemon.json +else + echo "/etc/docker/daemon.json exits." +fi + +DOCKER_OPT[0]='.["dns"] = ["52.174.55.168","188.165.200.156"]' +DOCKER_OPT[1]='.["storage-driver"] = "zfs"' +#DOCKER_OPT[2]='.["storage-opts"] = ["zfs.fsname=rpool/docker","size=256"]' +DOCKER_OPT[2]='.["storage-opts"] = ["zfs.fsname=rpool/docker"]' +#DOCKER_OPT[3]='.["insecure-registries"] = ["soleine.lan:5000"]' +DOCKER_OPT[3]='.["insecure-registries"] = ["192.168.1.198:5000"]' + +for ((i = 0; i < ${#DOCKER_OPT[@]}; ++i)); do + OPTION="${DOCKER_OPT[$i]}" + jq "${OPTION}" /etc/docker/daemon.json > /tmp/daemon.json.new && \ + mv -b /tmp/daemon.json.new /etc/docker/daemon.json +done From 8532314a4f7d1396d8833b5112106e288ef606b2 Mon Sep 17 00:00:00 2001 From: Cyteen Date: Sat, 24 Feb 2018 13:59:30 +0000 Subject: [PATCH 15/64] Comment out quickstart. --- 020_zsh.sh | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/020_zsh.sh b/020_zsh.sh index af85b43..96f4f54 100644 --- a/020_zsh.sh +++ b/020_zsh.sh @@ -14,14 +14,14 @@ chsh -s $(which zsh) ${USER} apt-get install -y git # Install zgen plugin manager and zsh quicktart to get a default setup for zsh git clone http://github.com/tarjoilija/zgen # available with apt-get install zgen which installs to /usr/share/zgen -git clone http://github.com/unixorn/zsh-quickstart-kit # FIXME: needs to be packaged +#git clone http://github.com/unixorn/zsh-quickstart-kit # FIXME: needs to be packaged mkdir -p ~/.zgen/robbyrussell/oh-my-zsh-master/ git clone http://github.com/robbyrussell/oh-my-zsh ~/.zgen/robbyrussell/oh-my-zsh-master/ -ln -sf ~/zsh-quickstart-kit/zsh/.zshrc ~/.zshrc -ln -sf ~/zsh-quickstart-kit/zsh/.zsh_functions ~/.zsh_functions -ln -sf ~/zsh-quickstart-kit/zsh/.zsh_aliases ~/.zsh_aliases -ln -sf ~/zsh-quickstart-kit/zsh/.zgen-setup ~/.zgen-setup +#ln -sf ~/zsh-quickstart-kit/zsh/.zshrc ~/.zshrc +#ln -sf ~/zsh-quickstart-kit/zsh/.zsh_functions ~/.zsh_functions +#ln -sf ~/zsh-quickstart-kit/zsh/.zsh_aliases ~/.zsh_aliases +#ln -sf ~/zsh-quickstart-kit/zsh/.zgen-setup ~/.zgen-setup #ln -sf ~/zsh-quickstart-kit/zsh/.zsh_completions ~/.zsh-completions mkdir -p ~/.zshrc.d echo "setopt PROMPT_SUBST" >> ~/.zshrc @@ -32,7 +32,7 @@ echo "NVIM_PYTHON_LOG_LEVEL=DEBUG" >> ~/.zshrc.d/008_nvim.zsh touch /var/tmp/nvim_python.log # fix path error in .zshrc -sed -i 's|pushd $(dirname "${HOME}/$(readlink ~/.zshrc)")|pushd $(dirname "$(readlink ~/.zshrc)")|' ~/zsh-quickstart-kit/zsh/.zshrc +#sed -i 's|pushd $(dirname "${HOME}/$(readlink ~/.zshrc)")|pushd $(dirname "$(readlink ~/.zshrc)")|' ~/zsh-quickstart-kit/zsh/.zshrc # debians locate db locate # sed -i 's,^\(export LOCATE_PATH=\).*,\1'/var/lib/mlocate/mlocate.db',' ~/.zshrc @@ -181,8 +181,8 @@ cat > ~/.zgen-local-plugins << 'EOF' EOF # example .d file use unset to prevent update -echo '# Use unset 'QUICKSTART_KIT_REFRESH_IN_DAYS' to disable.' > ~/.zshrc.d/001-quickstart_refresh.zsh -echo 'QUICKSTART_KIT_REFRESH_IN_DAYS=30' >> ~/.zshrc.d/001-quickstart_refresh.zsh +#echo '# Use unset 'QUICKSTART_KIT_REFRESH_IN_DAYS' to disable.' > ~/.zshrc.d/001-quickstart_refresh.zsh +#echo 'QUICKSTART_KIT_REFRESH_IN_DAYS=30' >> ~/.zshrc.d/001-quickstart_refresh.zsh echo 'ZGEN_PLUGIN_UPDATE_DAYS=30' > ~/.zshrc.d/001-zgen_refresh.zsh apt-get install -y fonts-powerline powerline From 6501e6db7771589abbb9cb35da848cc44aa80fac Mon Sep 17 00:00:00 2001 From: Cyteen Date: Sat, 24 Feb 2018 14:00:57 +0000 Subject: [PATCH 16/64] Fix tmux-plugin-manager settings. --- 020_tmux.sh | 42 +++++++++++++++++++++++++++++++++++++++--- 1 file changed, 39 insertions(+), 3 deletions(-) diff --git a/020_tmux.sh b/020_tmux.sh index 23c3f27..59f4f3c 100644 --- a/020_tmux.sh +++ b/020_tmux.sh @@ -1,6 +1,6 @@ apt-get install -y tmux apt-get install -y tmux-plugin-manager -apt-get install -y tmuxinator +apt-get install -y tmuxp # uses python rather than ruby used by tmuxinator. # https://github.com/Netherdrake/Dotfiles/tree/master/config/tmux # wget -c --directory-prefix ~/.config/tmux/ https://raw.githubusercontent.com/Netherdrake/Dotfiles/master/config/tmux/default.sh @@ -172,9 +172,10 @@ EOF mkdir -p ~/.zshrc.d/ echo "source /usr/share/zsh/vendor_completions/_tmuxinator" > ~/.zshrc.d/006_tmuxinator.zsh +mkdir -p ~/.tmux/plugins/tpm - -cat > ~/.config/tmux/tmux.conf << 'EOF' +#cat > ~/.config/tmux/tmux.conf << 'EOF' +cat > ~/.tmux.conf << 'EOF' # List of plugins set -g @plugin 'tmux-plugins/tpm' @@ -189,3 +190,38 @@ set -g @plugin 'tmux-plugins/tmux-sensible' # Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf) run '/usr/share/tmux-plugin-manager/tpm' EOF + + +#https://github.com/caiogondim/maglev +cat > ~/.config/tmux/tmux.conf << 'EOF' +# Start windows and panes at 1, not 0 +set -g base-index 1 +set -g pane-base-index 1 + +set-option -g status-position top + +set-option -g repeat-time 0 + +# Removes ESC delay +set -sg escape-time 0 + +# List of plugins +set -g @tpm_plugins ' \ + caiogondim/maglev \ + tmux-plugins/tpm \ + tmux-plugins/tmux-sensible \ + tmux-plugins/tmux-resurrect \ + tmux-plugins/tmux-continuum \ + tmux-plugins/tmux-yank \ + tmux-plugins/tmux-pain-control \ + tmux-plugins/tmux-copycat \ + tmux-plugins/tmux-open \ + tmux-plugins/tmux-battery \ + tmux-plugins/tmux-cpu \ + tmux-plugins/tmux-prefix-highlight \ +' + +# Initialize TMUX plugin manager +#run '~/.tmux/plugins/tpm/tpm' +run '/usr/share/tmux-plugin-manager/tpm' +EOF From 8eb9f504f1ab778f0612ca38e2d4b19f2d5288e1 Mon Sep 17 00:00:00 2001 From: Cyteen Date: Sat, 24 Feb 2018 14:03:33 +0000 Subject: [PATCH 17/64] Bump salt version and add completitions. --- 010_saltstack.sh | 40 ++++++++++++++++++++-------------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/010_saltstack.sh b/010_saltstack.sh index 173966c..2b81de2 100644 --- a/010_saltstack.sh +++ b/010_saltstack.sh @@ -29,19 +29,19 @@ # wget -O - https://repo.saltstack.com/apt/debian/9/amd64/latest/SALTSTACK-GPG-KEY.pub | apt-key add - # deb http://repo.saltstack.com/apt/debian/9/amd64/latest stretch main -DEBIAN_VERSION=8 -DEBIAN_RELEASE=jessie +#DEBIAN_VERSION=8 +#DEBIAN_RELEASE=jessie -#DEBIAN_VERSION=9 -#DEBIAN_RELEASE=stretch +DEBIAN_VERSION=9 +DEBIAN_RELEASE=stretch SALT_VERSION=2016.3 SALT_VERSION=2016.11 SALT_VERSION=2017.7 -SALT_VERSION=archive/2017.7.1 +SALT_VERSION=archive/2017.7.3 SALT_VERSION=latest -REFRESHED_AT=2017-09-31 +REFRESHED_AT=2018-02-20 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 -" @@ -77,18 +77,18 @@ apt-get update && apt-get upgrade -y -o DPkg::Options::=--force-confold # Install Salt Dependencies -apt-get install -y -o DPkg::Options::=--force-confold \ - python \ +apt-get install -y -o DPkg::Options::=--force-confold \ + python \ apt-utils \ - python-software-properties \ - software-properties-common \ - python-yaml \ - python-m2crypto \ - python-crypto \ - python-msgpack \ - python-zmq \ + python-software-properties \ + software-properties-common \ + python-yaml \ + python-m2crypto \ + python-crypto \ + python-msgpack \ + python-zmq \ python2.7-doc \ - python-jinja2 \ + python-jinja2 \ python-requests apt-get -y install salt-client @@ -105,8 +105,8 @@ apt-get install -yq -o -o DPkg::Options::=--force-confold --no-install-recommend python-git \ python-openssl \ python-cherrypy3 \ - git \ - openssh-client \ + git \ + openssh-client \ make # Or get the development version @@ -118,7 +118,7 @@ apt-get install -yq -o -o DPkg::Options::=--force-confold --no-install-recommend # source: https://github.com/saltstack/salt/tree/develop/pkg/ *.{bash,zsh} # FYI: completition provided by salt-common pkg -test -e /usr/share/bash-completion/completions/salt-common || \ +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 || \ +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 From a700c615bcb6a25688a5f64cb7d23d5f4fc9e915 Mon Sep 17 00:00:00 2001 From: Cyteen Date: Sat, 24 Feb 2018 14:05:35 +0000 Subject: [PATCH 18/64] Add grc - frontend for generic colouriser grcat. --- 010_apt-get.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/010_apt-get.sh b/010_apt-get.sh index 2a30c50..3657e78 100644 --- a/010_apt-get.sh +++ b/010_apt-get.sh @@ -6,6 +6,7 @@ apt-get -y install xclip apt-get -y install sshpass apt-get -y install git apt-get -y install tig +apt-get -y install grc apt-get -y install gitk apt-get -y install zsync apt-get -y install jq From 8878b8eab2f7509e9688be9d3367045cf6fc918d Mon Sep 17 00:00:00 2001 From: Cyteen Date: Sat, 24 Feb 2018 14:30:45 +0000 Subject: [PATCH 19/64] Add sources.list for nosh. --- 010_nosh.sh | 148 ++++++++++++++++++++++++++++++++++------------------ 1 file changed, 97 insertions(+), 51 deletions(-) diff --git a/010_nosh.sh b/010_nosh.sh index 4e70886..813ba19 100644 --- a/010_nosh.sh +++ b/010_nosh.sh @@ -1,50 +1,93 @@ +## Setting init in grub can use the pre-exiting init system +# init=/lib/sysvinit/init +# init=/lib/systemd/systemd + +echo "deb http://Debian-repository.JdeBP.info./ stable main" > /etc/apt/sources.list-available/nosh.list +ln -s /etc/apt/sources.list-available/nosh.list /etc/apt/sources.list.d/nosh.list +#curl "http://Debian-repository.JdeBP.info./repository_signing_key.pub" > /usr/share/keyrings/jdebp-debian-repository.gpg +curl "https://JdeBP.EU./Repository/debian/repository_signing_key.pub" > /usr/share/keyrings/jdebp-debian-repository.gpg + + +apt-get update + ## https://jdebp.eu/Softwares/nosh/debian-binary-packages.html # Documentation -apt-get install -y nosh-guide_1.37_amd64.deb +apt-get install -y nosh-guide + +apt-get install -y \ + nosh-exec \ + nosh-service-management \ + nosh-terminal-management \ + nosh-systemv-shims + +apt-get install -y \ + nosh-run-system-manager \ + nosh-run-local-syslog \ + nosh-run-klog \ + nosh-run-udev \ + nosh-run-user-vt + #nosh-run-kernel-vt \ + +redo -C /etc/system-control/convert/ all ## Toolsets -# (exec, nosh, and the chain-loading utilities) -apt-get install -y nosh-exec_1.37_amd64.deb -# (system-manager, service-manager, system-control, service-control and related utilities) -apt-get install -y nosh-service-management_1.37_amd64.deb -# (console-terminal-emulator, vc-get-tty, pty-get-tty, ttylogin-starter and related utilities) -apt-get install -y nosh-terminal-management_1.37_amd64.deb -# (ptybandage, ptyrun and related utilities) -apt-get install -y nosh-terminal-extras_1.37_amd64.deb -# (tcpserver shim) -apt-get install -y nosh-ucspi-tcp-shims_1.37_amd64.deb -# (Z Shell completions for the toolsets) -apt-get install -y nosh-zsh-completion_1.37_amd64.deb -# (systemd and servicectl shims for systemd compatibility) -apt-get install -y nosh-systemd-shims_1.37_amd64.deb -# (halt, reboot, poweroff, telinit, chkconfig, and related shims for old-style System 5/BSD compatibility) -apt-get install -y nosh-systemv-shims_1.37_amd64.deb -# (start, stop, initctl, and related shims for upstart compatibility) -apt-get install -y nosh-upstart-shims_1.37_amd64.deb -# (service shim for old-style System 5/BSD compatibility) -apt-get install -y nosh-service-command-shim_1.37_amd64.deb -# (invoke-rc.d and update-rc.d shims for Debian compatibility) -apt-get install -y nosh-debian-shims_1.37_amd64.deb -# (fasthalt, fastboot, and fastpoweroff shims for BSD compatibility) -apt-get install -y nosh-bsd-shims_1.37_amd64.deb -# (rcctl and and related shims for OpenBSD compatibility) -apt-get install -y nosh-openbsd-shims_1.37_amd64.deb -# (utx and and related shims for FreeBSD compatibility) -apt-get install -y nosh-freebsd-shims_1.37_amd64.deb -# (resizecons, clear_console, and chvt shims for compatibility with the old kbd package) -apt-get install -y nosh-kbd-shims_1.37_amd64.deb +## (exec, nosh, and the chain-loading utilities) +#apt-get install -y nosh-exec + +## (system-manager, service-manager, system-control, service-control and related utilities) +#apt-get install -y nosh-service-management + +## (console-terminal-emulator, vc-get-tty, pty-get-tty, ttylogin-starter and related utilities) +#apt-get install -y nosh-terminal-management + +## (ptybandage, ptyrun and related utilities) +apt-get install -y nosh-terminal-extras + +## (tcpserver shim) +apt-get install -y nosh-ucspi-tcp-shims + +## (Z Shell completions for the toolsets) +apt-get install -y nosh-zsh-completion + +## (systemd and servicectl shims for systemd compatibility) +#apt-get install -y nosh-systemd-shims + +## (halt, reboot, poweroff, telinit, chkconfig, and related shims for old-style System 5/BSD compatibility) +apt-get install -y nosh-systemv-shims + +## (service shim for old-style System 5/BSD compatibility) +apt-get install -y nosh-service-command-shim + +## (start, stop, initctl, and related shims for upstart compatibility) +#apt-get install -y nosh-upstart-shims + +## (invoke-rc.d and update-rc.d shims for Debian compatibility) +apt-get install -y nosh-debian-shims + +## (fasthalt, fastboot, and fastpoweroff shims for BSD compatibility) +#apt-get install -y nosh-bsd-shims + +## (rcctl and and related shims for OpenBSD compatibility) +#apt-get install -y nosh-openbsd-shims + +## (utx and and related shims for FreeBSD compatibility) +#apt-get install -y nosh-freebsd-shims + +## (resizecons, clear_console, and chvt shims for compatibility with the old kbd package) +apt-get install -y nosh-kbd-shims ## Service bundles -apt-get install -y nosh-bundles_1.37_amd64.deb +apt-get install -y nosh-bundles -## system-manager as process #1 -apt-get install -y nosh-run-system-manager_1.37_amd64.deb +## system-manager as process #1 (removes nosh-run-via-systemd) +#apt-get install -y nosh-run-system-manager ## Base services # includes virecover and Debian cron. -apt-get install -y nosh-run-debian-server-base_1.37_amd64.deb +apt-get install -y nosh-run-debian-server-base + # CUPS, anacron, and Sun RPC. #apt-get install -y nosh-run-debian-desktop-base_1.37_amd64.deb @@ -77,36 +120,39 @@ sed -i -e s"|${SERVICE_HELPER_OLD}|${SERVICE_HELPER_NEW}|" ${DBUS_HOME}/system.c ## Plug and play device managers -# (vdev) +## (vdev) #apt-get install nosh-run-vdev_1.37_amd64.deb (vdev) -# (systemd's udev) -apt-get install -y nosh-run-udev_1.37_amd64.deb -# (busybox mdev) -#apt-get install nosh-run-busybox-mdev_1.37_amd64.deb -# (suckless mdev) -#apt-get install nosh-run-suckless-mdev_1.37_amd64.deb + +## (systemd's udev) +#apt-get install -y nosh-run-udev + +## (busybox mdev) +#apt-get install nosh-run-busybox-mdev + +## (suckless mdev) +#apt-get install nosh-run-suckless-mdev ## Virtual terminal services -# (old-style kernel virtual terminals) -#apt-get install -y nosh-run-kernel-vt_1.37_amd64.deb -# (a new-style application-mode virtual terminal) -apt-get install -y nosh-run-user-vt_1.37_amd64.deb +## (old-style kernel virtual terminals) +#apt-get install -y nosh-run-kernel-vt + +## (a new-style application-mode virtual terminal) +#apt-get install -y nosh-run-user-vt ## Freedesktop.org "kit" services # (Freedesktop.org "kit" services — packagekit, consolekit, policykit, NetworkManager, ModemManager et al.) -#apt-get install -y nosh-run-freedesktop-kits_1.37_amd64.deb +#apt-get install -y nosh-run-freedesktop-kits ## VirtualBox Guest Additions -apt-get install -y nosh-run-virtualbox-guest_1.37_amd64.deb +#apt-get install -y nosh-run-virtualbox-guest ## kernel log service - -apt-get install -y nosh-run-klog_1.37_amd64.deb +#apt-get install -y nosh-run-klog ## local syslog() service # old-style logging service to programs that still use /dev/log. -apt-get install -y nosh-run-local-syslog_1.37_amd64.deb +#apt-get install -y nosh-run-local-syslog # Index of ftp://repository.jdebp.info./debian/dists/stable/main/binary-amd64/ # From 05f1138e718682f5302c7033e4ffdd4a8efc1c4e Mon Sep 17 00:00:00 2001 From: Cyteen Date: Sun, 25 Feb 2018 11:35:51 +0000 Subject: [PATCH 20/64] Fix tmux.conf location and add vi mode. --- 020_tmux.sh | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/020_tmux.sh b/020_tmux.sh index 59f4f3c..c78e952 100644 --- a/020_tmux.sh +++ b/020_tmux.sh @@ -76,15 +76,15 @@ EOF # wget -c --directory-prefix ~/.config/tmux/ https://raw.githubusercontent.com/Netherdrake/Dotfiles/master/config/tmux/tmux.conf cat > ~/.config/tmux/tmux.conf << 'EOF' -# set-option -g default-shell /bin/fish -set-option -g default-shell "/usr/bin/fish" # https://github.com/ChrisJohnsen/tmux-MacOSX-pasteboard set-option -g status on set-option -g status-interval 2 # set-option -g status-utf8 on set-option -g status-left-length 60 set-option -g status-right-length 60 -set-option -g default-terminal xterm-256color +set-option -g default-terminal "tmux-256color" +# set-option -g default-shell /bin/fish +# set-option -g default-shell "/usr/bin/fish" setw -g mode-keys vi bind h select-pane -L @@ -193,13 +193,19 @@ EOF #https://github.com/caiogondim/maglev -cat > ~/.config/tmux/tmux.conf << 'EOF' +#cat > ~/.config/tmux/tmux.conf << 'EOF' +cat > ~/.tmux.conf << 'EOF' + # Start windows and panes at 1, not 0 set -g base-index 1 set -g pane-base-index 1 set-option -g status-position top +set-option -g default-terminal "tmux-256color" + +set-window-option -g mode-keys vi + set-option -g repeat-time 0 # Removes ESC delay @@ -225,3 +231,5 @@ set -g @tpm_plugins ' \ #run '~/.tmux/plugins/tpm/tpm' run '/usr/share/tmux-plugin-manager/tpm' EOF + +bash -c "/usr/share/tmux-plugin-manager/bin/install_plugins" From 3f32c410acc696b4d756bd17288e77b9b796f343 Mon Sep 17 00:00:00 2001 From: Cyteen Date: Sun, 25 Feb 2018 11:42:24 +0000 Subject: [PATCH 21/64] Add xsel for tmux-yank. --- 010_apt-get.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/010_apt-get.sh b/010_apt-get.sh index 3657e78..fd862ab 100644 --- a/010_apt-get.sh +++ b/010_apt-get.sh @@ -3,6 +3,7 @@ apt-get -y install apt-file apt-get -y install tree apt-get -y install tmux apt-get -y install xclip +apt-get -y install xsel apt-get -y install sshpass apt-get -y install git apt-get -y install tig From 1d9240c84025f118e893ddd7d5ef619fa946e19b Mon Sep 17 00:00:00 2001 From: Cyteen Date: Sun, 25 Feb 2018 12:27:26 +0000 Subject: [PATCH 22/64] Add vi key binds for select/paste. --- 020_tmux.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/020_tmux.sh b/020_tmux.sh index c78e952..9c1a42e 100644 --- a/020_tmux.sh +++ b/020_tmux.sh @@ -205,6 +205,8 @@ set-option -g status-position top set-option -g default-terminal "tmux-256color" set-window-option -g mode-keys vi +bind-key -t vi-copy 'v' begin-selection +bind-key -t vi-copy 'y' copy-selection set-option -g repeat-time 0 From 05329f7f5689dcdb40385b202b866499b434121f Mon Sep 17 00:00:00 2001 From: Cyteen Date: Thu, 1 Mar 2018 08:54:58 +0000 Subject: [PATCH 23/64] Add messy fix for local repo source list not appearing early enough at package build time. FIXME. --- 020_pbuilder.sh | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/020_pbuilder.sh b/020_pbuilder.sh index 6550699..39354b6 100644 --- a/020_pbuilder.sh +++ b/020_pbuilder.sh @@ -155,12 +155,19 @@ HOOKDIR=/srv/pbuilder/hook.d EXTRAPACKAGES="apt-utils" EOF +# Update local dep sources +# FIXME We add a sources list for the local dep files here because sometimes the one +# specified in $OTHERMIRROR above does not appear soon enough to allow a successful +# package build. This leads to a "source listed twice"" warning. cat > ${HOOK_DIR}/D05deps << 'EOF' #!/bin/bash +echo "deb [trusted=yes] file:///srv/pbuilder/deps ./" > /etc/apt/sources.list.d/local.list (cd /srv/pbuilder/deps; apt-ftparchive packages . > Packages) apt-get update EOF +chmod +x ${HOOK_DIR}/D05deps + #Update cow image on changes above #DIST=${DIST} ARCH=${ARCH} git-pbuilder create --override-config --mirror http://pkgmaster.devuan.org DIST=${DIST} ARCH=${ARCH} git-pbuilder create From aec8374e3dd1939628896284452fab39b20edf9c Mon Sep 17 00:00:00 2001 From: Cyteen Date: Thu, 1 Mar 2018 08:56:11 +0000 Subject: [PATCH 24/64] Add socat and rsync to the base packages. --- 010_apt-get.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/010_apt-get.sh b/010_apt-get.sh index fd862ab..9fe0d1d 100644 --- a/010_apt-get.sh +++ b/010_apt-get.sh @@ -29,6 +29,8 @@ apt-get -y install gstreamer1.0-plugins-ugly gstreamer1.0-plugins-good gstreamer apt-get -y install firmware-iwlwifi #For thinkpad wifi: Intel 5100 AGN [Shiloh] apt-get -y install grub-pc grub2 gpart +apt-get -y install rsync +apt-get -y install socat apt-get -y install rox-filer apt-get -y install atril From 0d8cdafb7925d5c99bc35bf2318120e88f4bd9ff Mon Sep 17 00:00:00 2001 From: Cyteen Date: Thu, 1 Mar 2018 08:58:17 +0000 Subject: [PATCH 25/64] Initial commit for mps-youtube. --- 020_mps-youtube.sh | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 020_mps-youtube.sh diff --git a/020_mps-youtube.sh b/020_mps-youtube.sh new file mode 100644 index 0000000..80c2b4a --- /dev/null +++ b/020_mps-youtube.sh @@ -0,0 +1,10 @@ +apt-get -y install mps-youtube youtube-dl python3-pafy python3-pyperclip ffmpeg avconv mpv + +# Change transcoding settings here: +# /home/default/.config/mps-youtube/transcode + +#set search_music false +#set show_video true +#set player mpv +#set download_command +#set order date From 6d675a93e6b7ecbe9a9c5844f2d504286c285f21 Mon Sep 17 00:00:00 2001 From: Cyteen Date: Mon, 5 Mar 2018 12:28:54 +0000 Subject: [PATCH 26/64] Make focus events work. --- 020_tmux.sh | 14 ++++++++++++-- 020_vim.sh | 6 ++++++ 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/020_tmux.sh b/020_tmux.sh index 9c1a42e..503f919 100644 --- a/020_tmux.sh +++ b/020_tmux.sh @@ -204,11 +204,16 @@ set-option -g status-position top set-option -g default-terminal "tmux-256color" +set-option -g repeat-time 0 + +# vim-tmux-focus-events requires this or tmux-plugins/tmux-sensible enabled below. +set -g focus-events on + set-window-option -g mode-keys vi bind-key -t vi-copy 'v' begin-selection bind-key -t vi-copy 'y' copy-selection -set-option -g repeat-time 0 + # Removes ESC delay set -sg escape-time 0 @@ -217,7 +222,6 @@ set -sg escape-time 0 set -g @tpm_plugins ' \ caiogondim/maglev \ tmux-plugins/tpm \ - tmux-plugins/tmux-sensible \ tmux-plugins/tmux-resurrect \ tmux-plugins/tmux-continuum \ tmux-plugins/tmux-yank \ @@ -229,6 +233,12 @@ set -g @tpm_plugins ' \ tmux-plugins/tmux-prefix-highlight \ ' +## Sets emac key binding +#set -g @tmp_plugins ' \ +# tmux-plugins/tmux-sensible \ +#' + + # Initialize TMUX plugin manager #run '~/.tmux/plugins/tpm/tpm' run '/usr/share/tmux-plugin-manager/tpm' diff --git a/020_vim.sh b/020_vim.sh index 7f057c7..9c0c2d0 100644 --- a/020_vim.sh +++ b/020_vim.sh @@ -163,8 +163,14 @@ Plugin 'terryma/vim-multiple-cursors' Plugin 'sudar/vim-arduino-syntax' Plugin 'ekalinin/Dockerfile.vim' Plugin 'tmux-plugins/vim-tmux' + +" requires tmux.conf setting: set -g focus-events on or tmux-plugins/tmux-sensible plugin. Plugin 'tmux-plugins/vim-tmux-focus-events' +" text objects - https://github.com/kana/vim-textobj-user/wiki +Plugin 'kana/vim-textobj-user' +Plugin 'bps/vim-textobj-python' + " toggleable panels Plugin 'tpope/vim-vinegar' Plugin 'vim-scripts/taglist.vim' From c15c3d6d1307b7a84081f714a39254e36d118545 Mon Sep 17 00:00:00 2001 From: Cyteen Date: Mon, 5 Mar 2018 12:30:34 +0000 Subject: [PATCH 27/64] Set max size for downloads. --- 020_youtube-dl.sh | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 020_youtube-dl.sh diff --git a/020_youtube-dl.sh b/020_youtube-dl.sh new file mode 100644 index 0000000..60ccd7f --- /dev/null +++ b/020_youtube-dl.sh @@ -0,0 +1,10 @@ +apt-get -y install youtube-dl + + +## https://github.com/rg3/youtube-dl/blob/master/README.md#configuration +# Reduce maximum video quality +echo "-f 'bestvideo[height<=720]+bestaudio/best[height<=720]'" >> /etc/youtube-dl.conf + +echo "-f 'bestvideo[height<=720]+bestaudio/best[height<=720]'" >> ~/.config/youtube-dl/config + + From 0e04167a66bbd396ce9a6953e69b8d2248aa6612 Mon Sep 17 00:00:00 2001 From: Cyteen Date: Tue, 8 May 2018 18:09:47 +0100 Subject: [PATCH 28/64] Initial commit. --- 020_blender.sh | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 020_blender.sh diff --git a/020_blender.sh b/020_blender.sh new file mode 100644 index 0000000..5aed26b --- /dev/null +++ b/020_blender.sh @@ -0,0 +1,17 @@ +# ascii version 2.78.a+dfsq0-4 + +sudo apt-get -y install blender + +# Topology optimization with ToOptix +# /usr/share/blender/scripts in in blender-data + +git clone https://github.com/DMST1990/ToOptiX /tmp/ToOptix + +sudo cp -a /tmp/ToOptix/ToOptix/BlenderGUI/ToOptix /usr/share/blender/scripts/addons + +# Enable by going to User preferences Ctrl Alt U -> Addons -> Mesh -> Select Mesh: Topologie Optimization + +# In the ToOptix tab on the right choose a solver /usr/bin/ccx from calculix-ccx installed with freecad automate script. + + + From b765721c4b1c2c8b5b90f8f2c01c29ef2b9758db Mon Sep 17 00:00:00 2001 From: Cyteen Date: Tue, 8 May 2018 18:10:12 +0100 Subject: [PATCH 29/64] Initial commit. --- 020_freecad.sh | 110 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 110 insertions(+) create mode 100644 020_freecad.sh diff --git a/020_freecad.sh b/020_freecad.sh new file mode 100644 index 0000000..e1f3fcb --- /dev/null +++ b/020_freecad.sh @@ -0,0 +1,110 @@ +# https://github.com/FreeCAD/FreeCAD/releases/ +# debian is still on 0.16 but 0.17 is needed for current workbenches + +# If building, use cmake gui for configuring the build. +sudo apt-get install -y cmake-qt-gui + +# the ppa has calculix-ccx eigen3 freecad-daily (0.18~beta1) opencascade +# ppa:freecad-maintainers/freecad-daily + +# sudo add-apt-repository ppa:freecad-maintainers/freecad-daily +# sudo apt-get update +# YOUR_UBUNTU_VERSION_HERE=bionic # 18.04 buster/sid +YOUR_UBUNTU_VERSION_HERE=artful # 17.10 stretch/sid +# YOUR_UBUNTU_VERSION_HERE=xenial # 16.04 stretch/sid +# YOUR_UBUNTU_VERSION_HERE=trusty # 14.04 jessie/sid + +sudo bash -c "cat > /etc/apt/sources.list-available/freecad-daily.list" < /etc/apt/sources.list-available/freecad-stable.list" < Date: Tue, 8 May 2018 18:10:21 +0100 Subject: [PATCH 30/64] Initial commit. --- 020_kodi.sh | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 020_kodi.sh diff --git a/020_kodi.sh b/020_kodi.sh new file mode 100644 index 0000000..02c08c9 --- /dev/null +++ b/020_kodi.sh @@ -0,0 +1,13 @@ +sudo apt-get install kodi + +# Plugins +#covenant +#sanctuary http://sanctuaryrepo.esy.es/sanc/ +#neptune rising http://repo.mrblamo.xyz/ +#placenta +#sports devil +#incursion +#poseidon +#genesis reborn +#uranus +#maverick tv From 02eb38b7776c7791ea2d2477f82f71a14babca53 Mon Sep 17 00:00:00 2001 From: Cyteen Date: Tue, 8 May 2018 18:10:42 +0100 Subject: [PATCH 31/64] Initial commit. --- 020_onivim.sh | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 020_onivim.sh diff --git a/020_onivim.sh b/020_onivim.sh new file mode 100644 index 0000000..0bc7e15 --- /dev/null +++ b/020_onivim.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" From e0e1758eb82553e6e64d1c957ab813fb2526cd82 Mon Sep 17 00:00:00 2001 From: Cyteen Date: Wed, 9 May 2018 09:35:37 +0100 Subject: [PATCH 32/64] Update. --- 020_waterfox.sh | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/020_waterfox.sh b/020_waterfox.sh index 0ec5c19..e82e85c 100644 --- a/020_waterfox.sh +++ b/020_waterfox.sh @@ -8,9 +8,32 @@ EOF ln -sf /etc/apt/sources.list-available/waterfox.list /etc/apt/sources.list.d/waterfox.list -curl https://bintray.com/user/downloadSubjectPublicKey\?username\=hawkeye116477 | sudo apt-key add - +curl "https://bintray.com/user/downloadSubjectPublicKey\?username\=hawkeye116477" | sudo apt-key add - apt-get update apt-get install -y waterfox +# Themes +## Australis Dark - enabled in Firefox 53 +## Has rounded corners on active tab and grey surround +# https://github.com/wilfredwee/australis-dark +# https://addons.mozilla.org/en-US/firefox/addon/devedition-theme-enabler/ +#https://addons.mozilla.org/firefox/downloads/file/477584/developer_edition_theme_enabler-1.0.1-fx.xpi + +## Aa Dark Background and light text + +## ff2mpv +## Firebug - being retired +## firepath +## greasemonkey +## it's all text +## saved password editor +## text link +## try xpath +## ublock origin +## umatrix +## web developer +## xdebug helper +## xpath finder +## wideo blocker - doesn't seem to work From 5c2b827d0aa139ac55e99906b077a73089360fb9 Mon Sep 17 00:00:00 2001 From: Cyteen Date: Thu, 10 May 2018 11:15:37 +0100 Subject: [PATCH 33/64] Added cmus terminal audio player. --- 010_apt-get.sh | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/010_apt-get.sh b/010_apt-get.sh index 9fe0d1d..02f7e34 100644 --- a/010_apt-get.sh +++ b/010_apt-get.sh @@ -21,11 +21,23 @@ apt-get -y install sshpass apt-get -y install wicd-curses apt-get -y install htop apt-get -y install iotop +apt-get -y install sysstat apt-get -y install mpv apt-get -y install youtube-dl +apt-get -y install cmus apt-get -y install checkinstall apt-get -y install ntp ntpdate +apt-get -y install nmap apt-get -y install gstreamer1.0-plugins-ugly gstreamer1.0-plugins-good gstreamer1.0-libav + +apt-get -y install cuetools +apt-get -y install flac +apt-get -y install vorbis-tools +apt-get -y install sox +apt-get -y install wavpack +apt-get -y install shntools +apt-get -y install lltag + apt-get -y install firmware-iwlwifi #For thinkpad wifi: Intel 5100 AGN [Shiloh] apt-get -y install grub-pc grub2 gpart From a35fd28d4ba023e60443500751f484e8baa0a145 Mon Sep 17 00:00:00 2001 From: Cyteen Date: Thu, 24 May 2018 17:05:11 +0100 Subject: [PATCH 34/64] Initial commit. --- 010_zram.sh | 57 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 010_zram.sh diff --git a/010_zram.sh b/010_zram.sh new file mode 100644 index 0000000..ffe8bcb --- /dev/null +++ b/010_zram.sh @@ -0,0 +1,57 @@ +#!/bin/sh +cat > /etc/init.d/zram <<'EOF' +#!/bin/sh +### BEGIN INIT INFO +# Provides: zram +# Required-Start: $local_fs +# Required-Stop: $local_fs +# Default-Start: S +# Default-Stop: 0 1 6 +# Short-Description: Use compressed RAM as in-memory swap +# Description: Use compressed RAM as in-memory swap +### END INIT INFO + +# Author: Antonio Galea +# Thanks to Przemysław Tomczyk for suggesting swapoff parallelization +# Distributed under the GPL version 3 or above, see terms at +# https://gnu.org/licenses/gpl-3.0.txt + +FRACTION=75 + +MEMORY=`perl -ne'/^MemTotal:\s+(\d+)/ && print $1*1024;' < /proc/meminfo` +CPUS=`nproc` +SIZE=$(( MEMORY * FRACTION / 100 / CPUS )) + +case "$1" in + "start") + param=`modinfo zram|grep num_devices|cut -f2 -d:|tr -d ' '` + modprobe zram $param=$CPUS + for n in `seq $CPUS`; do + i=$((n - 1)) + echo $SIZE > /sys/block/zram$i/disksize + mkswap /dev/zram$i + swapon /dev/zram$i -p 10 + done + ;; + "stop") + for n in `seq $CPUS`; do + i=$((n - 1)) + swapoff /dev/zram$i && echo "disabled disk $n of $CPUS" & + done + wait + sleep .5 + modprobe -r zram + ;; + "status") + swapon -s + ;; + *) + echo "Usage: `basename $0` (start | stop)" + exit 1 + ;; +esac +EOF + +chmod +x /etc/init.d/zram + +insserv zram From 725513b9a591b4ca10582597b40c8fad458e648c Mon Sep 17 00:00:00 2001 From: Cyteen May Date: Sun, 17 Jun 2018 10:59:51 +0100 Subject: [PATCH 35/64] Bump version. --- 010_saltstack.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/010_saltstack.sh b/010_saltstack.sh index 2b81de2..25ca3ec 100644 --- a/010_saltstack.sh +++ b/010_saltstack.sh @@ -39,9 +39,10 @@ SALT_VERSION=2016.3 SALT_VERSION=2016.11 SALT_VERSION=2017.7 SALT_VERSION=archive/2017.7.3 +SALT_VERSION=2018.3.0 SALT_VERSION=latest -REFRESHED_AT=2018-02-20 +REFRESHED_AT=2018-06-10 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 -" From 1280c27fcea58fbd8f219f83b0ca52f05a273bf1 Mon Sep 17 00:00:00 2001 From: Cyteen May Date: Sun, 17 Jun 2018 11:00:43 +0100 Subject: [PATCH 36/64] Add link to info in comments. --- 010_zram.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/010_zram.sh b/010_zram.sh index ffe8bcb..5072bab 100644 --- a/010_zram.sh +++ b/010_zram.sh @@ -1,4 +1,5 @@ #!/bin/sh +# https://www.kernel.org/doc/Documentation/blockdev/zram.txt cat > /etc/init.d/zram <<'EOF' #!/bin/sh ### BEGIN INIT INFO From 244ccef368ec7fe224f49e3759e4e1fbbbc01e40 Mon Sep 17 00:00:00 2001 From: Cyteen May Date: Sun, 17 Jun 2018 11:07:00 +0100 Subject: [PATCH 37/64] Add function/alias to allow uploading files to http://transfer.sh from the commandline. --- 020_fish.sh | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/020_fish.sh b/020_fish.sh index 425bef5..e8b19d4 100644 --- a/020_fish.sh +++ b/020_fish.sh @@ -63,6 +63,52 @@ function sr eval $argv > /dev/null 2>&1 & end +function transfer + if test (count $argv) -eq 0 + echo "No arguments specified. Usage:\necho transfer /tmp/test.md\ncat /tmp/test.md | transfer test.md" + return 1 + end + + ## get temporarily filename, output is written to this file show progress can be showed + set tmpfile ( mktemp -t transferXXX ) + + ## upload stdin or file + set file $argv[1] + + #if tty -s; + #then + set basefile (basename "$file" | sed -e 's/[^a-zA-Z0-9._-]/-/g') + + # if [ ! -e $file ]; + # then + # echo "File $file doesn't exists." + # return 1 + # fi + + if test -d $file + # zip directory and transfer + set zipfile ( mktemp -t transferXXX.zip ) + # echo (dirname $file) + #cd (dirname $file) and echo (pwd) + zip -r -q - $file >> $zipfile + curl --progress-bar --upload-file "$zipfile" "https://transfer.sh/$basefile.zip" >> $tmpfile + rm -f $zipfile + else + # transfer file + curl --progress-bar --upload-file "$file" "https://transfer.sh/$basefile" >> $tmpfile + end + #else + # # transfer pipe + # curl --progress-bar --upload-file "-" "https://transfer.sh/$file" >> $tmpfile + #fi + + ## cat output link + cat $tmpfile + + ## cleanup + rm -f $tmpfile +end + alias subl "subl3" alias vim "nvim" From 5d0f729cbc01311fd1f6d9fc71b1511083cdb5c6 Mon Sep 17 00:00:00 2001 From: Cyteen May Date: Sun, 17 Jun 2018 11:07:24 +0100 Subject: [PATCH 38/64] Add function/alias to allow uploading files to http://transfer.sh from the commandline. --- 020_zsh.sh | 70 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 70 insertions(+) diff --git a/020_zsh.sh b/020_zsh.sh index 96f4f54..592c2e8 100644 --- a/020_zsh.sh +++ b/020_zsh.sh @@ -263,5 +263,75 @@ alias ipython="_py_version" alias jupyter="_py_version" EOF +cat > .zsh_aliases.d/003-transfer.zsh <<'EOF' +# +# Defines transfer alias and provides easy command line file and folder sharing. +# +# Authors: +# Remco Verhoef +# + +curl --version 2>&1 > /dev/null +if [ $? -ne 0 ]; then + echo "Could not find curl." + return 1 +fi + +transfer() { + # check arguments + if [ $# -eq 0 ]; + then + echo -e "No arguments specified.\n\nUsage:\necho transfer /tmp/test.md\ncat /tmp/test.md | transfer test.md" + return 1 + fi + + # get temporarily filename, output is written to this file show progress can be showed + tmpfile=$( mktemp -t transferXXX ) + + # upload stdin or file + file=$1 + + if tty -s; + then + basefile=$(basename "$file" | sed -e 's/[^a-zA-Z0-9._-]/-/g') + + if [ ! -e $file ]; + then + echo "File $file doesn't exists." + return 1 + fi + + if [ -d $file ]; + then + # zip directory and transfer + zipfile=$( mktemp -t transferXXX.zip ) + cd $(dirname $file) && zip -r -q - $(basename $file) >> $zipfile + curl --progress-bar --upload-file "$zipfile" "https://transfer.sh/$basefile.zip" >> $tmpfile + rm -f $zipfile + else + # transfer file + curl --progress-bar --upload-file "$file" "https://transfer.sh/$basefile" >> $tmpfile + fi + else + # transfer pipe + curl --progress-bar --upload-file "-" "https://transfer.sh/$file" >> $tmpfile + fi + + # cat output link + cat $tmpfile + + # log file link + APPLICATION="${0##*/}" + RIGHTNOW="$(date)" + EXPIRES="$(date -d "+14 days")" + echo -e "$(cat "$tmpfile") - uploaded $RIGHTNOW - expires $EXPIRES\n" >> ~/$APPLICATION.log + echo "See ~/$APPLICATION.log for all transfers." + + # cleanup + rm -f $tmpfile +} +EOF + + chown -R root.root /usr/local/share/zsh/site-functions chmod -R 755 /usr/local/share/zsh/site-functions From 91f5c412d9174f49f4084927ac38374ed095158e Mon Sep 17 00:00:00 2001 From: Cyteen May Date: Sun, 17 Jun 2018 11:08:36 +0100 Subject: [PATCH 39/64] Add waterfox to the alternatives list. --- 020_waterfox.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/020_waterfox.sh b/020_waterfox.sh index e82e85c..eaa2794 100644 --- a/020_waterfox.sh +++ b/020_waterfox.sh @@ -14,6 +14,8 @@ apt-get update apt-get install -y waterfox +update-alternatives --install /usr/bin/x-www-browser x-www-browser /usr/bin/waterfox 201 + # Themes ## Australis Dark - enabled in Firefox 53 ## Has rounded corners on active tab and grey surround From d56a1fad21e52f68e9aa0d647c25d8f5bc649e27 Mon Sep 17 00:00:00 2001 From: Cyteen May Date: Sun, 17 Jun 2018 11:38:11 +0100 Subject: [PATCH 40/64] Add carriage returns for log output formating. --- 020_zsh.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/020_zsh.sh b/020_zsh.sh index 592c2e8..8976491 100644 --- a/020_zsh.sh +++ b/020_zsh.sh @@ -325,7 +325,7 @@ transfer() { RIGHTNOW="$(date)" EXPIRES="$(date -d "+14 days")" echo -e "$(cat "$tmpfile") - uploaded $RIGHTNOW - expires $EXPIRES\n" >> ~/$APPLICATION.log - echo "See ~/$APPLICATION.log for all transfers." + echo "\n\nSee ~/$APPLICATION.log for all transfers.\n" # cleanup rm -f $tmpfile From 2edc66efc6080ae6856eba9f39910221389043c7 Mon Sep 17 00:00:00 2001 From: Cyteen May Date: Thu, 21 Jun 2018 08:54:24 +0100 Subject: [PATCH 41/64] Add volumeicon-alsa package. --- 010_alsa.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/010_alsa.sh b/010_alsa.sh index 2027d57..44b7a43 100644 --- a/010_alsa.sh +++ b/010_alsa.sh @@ -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 libalsaplayer0 +apt-get -y install alsa-base alsa-tools alsa-tools-gui alsa-utils alsa-oss alsamixergui volumeicon-alsa libalsaplayer0 apt-get -y install pnmixer /etc/init.d/alsa-utils restart From de858962b67cde7b9b078016b44df4eb014a9b8a Mon Sep 17 00:00:00 2001 From: Cyteen Date: Sat, 28 Jul 2018 10:57:36 +0100 Subject: [PATCH 42/64] Add nodesource sources.list. --- 020_nodejs.sh | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 020_nodejs.sh diff --git a/020_nodejs.sh b/020_nodejs.sh new file mode 100644 index 0000000..6739d5f --- /dev/null +++ b/020_nodejs.sh @@ -0,0 +1,15 @@ +# curl -sL https://deb.nodesource.com/setup_10.x | bash - +wget --quiet -O - https://deb.nodesource.com/gpgkey/nodesource.gpg.key | sudo apt-key add - + +VERSION=node_10.x +#DISTRO="$(lsb_release -s -c)" +DISTRO="testing" + +AVAILABLE=/etc/apt/sources.list-available + +echo "deb https://deb.nodesource.com/$VERSION $DISTRO main" | sudo tee /etc/apt/${AVAILABLE}/nodesource.list +echo "deb-src https://deb.nodesource.com/$VERSION $DISTRO main" | sudo tee -a /etc/apt/${AVAILABLE}/nodesource.list +ln -s /etc/apt/${AVAILABLE}/nodesource.list /etc/apt/sources.list.d/nodesource.list + +sudo apt-get update +apt-get install -y nodejs From 8a2f8554c27577e550e3a0ecda22833e8642cc32 Mon Sep 17 00:00:00 2001 From: Cyteen Date: Sat, 28 Jul 2018 11:16:20 +0100 Subject: [PATCH 43/64] Add bypass proxy for apt. --- 020_waterfox.sh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/020_waterfox.sh b/020_waterfox.sh index e82e85c..a48183a 100644 --- a/020_waterfox.sh +++ b/020_waterfox.sh @@ -6,6 +6,9 @@ cat > /etc/apt/sources.list-available/waterfox.list << EOF deb https://dl.bintray.com/hawkeye116477/waterfox-deb release main EOF +# The dl-bintray repo doesn't play nice with apt-proxy +echo "Acquire::http::Proxy { dl.bintray.com DIRECT; };" >> /etc/apt/apt.conf.d/02proxy + ln -sf /etc/apt/sources.list-available/waterfox.list /etc/apt/sources.list.d/waterfox.list curl "https://bintray.com/user/downloadSubjectPublicKey\?username\=hawkeye116477" | sudo apt-key add - From fe275b3cb2149f4022aae130dc1dd03929f35978 Mon Sep 17 00:00:00 2001 From: Cyteen Date: Sat, 28 Jul 2018 11:28:11 +0100 Subject: [PATCH 44/64] Commit before pull. --- 020_zsh.sh | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/020_zsh.sh b/020_zsh.sh index 96f4f54..a77f474 100644 --- a/020_zsh.sh +++ b/020_zsh.sh @@ -1,3 +1,14 @@ +## Completions for Debian 9.0 - may be included in zgen +# +#sudo bash -c "cat > /etc/apt/sources.list.d/shells:zsh-users:zsh-completions.list" << 'EOF' +#deb http://download.opensuse.org/repositories/shells:/zsh-users:/zsh-completions/Debian_9.0/ / +#EOF +# +#wget -qO - https://download.opensuse.org/repositories/shells:zsh-users:zsh-completions/Debian_9.0/Release.key | sudo apt-key add - +# +#sudo apt-get update +#sudo apt-get install zsh-completions + apt-get -y install zsh nodejs-legacy set -x # compaudit @@ -8,8 +19,8 @@ set -x mkdir -p /usr/local/share/zsh/site-functions chmod g-w /usr/local/share/zsh/site-functions -cd ~ -chsh -s $(which zsh) ${USER} +cd ~ || exit +chsh -s "$(which zsh)" "${USER}" apt-get install -y git # Install zgen plugin manager and zsh quicktart to get a default setup for zsh From 28f9022a8c89ab256d49746af2debedcf1764b46 Mon Sep 17 00:00:00 2001 From: Cyteen May Date: Mon, 25 Mar 2019 09:54:15 +0000 Subject: [PATCH 45/64] Updates and corrections. --- 001_apt-sources.sh | 6 +- 001_enable-binfmt-misc.sh | 9 +++ 010_apt-get.sh | 13 +++- 010_python.sh | 2 + 020_conky.sh | 41 ++++++++++-- 020_devuan_arm-sdk.sh | 18 +++++ 020_docker-compose.sh | 136 +++++++++++++++++++------------------- 020_docker.sh | 15 +++-- 020_drupal-compose.sh | 4 ++ 020_drush.phar.sh | 9 +++ 020_etcher.sh | 9 +++ 020_grc.sh | 24 +++++++ 020_keepass.sh | 9 +++ 020_kodi.sh | 13 ---- 020_kodi_nightly_ppa.sh | 65 ++++++++++++++++++ 020_kodi_ppa.sh | 69 +++++++++++++++++++ 020_lsd.sh | 40 +++++++++++ 020_nethogs.sh | 2 + 020_obsproject.sh | 1 + 020_pbuilder.sh | 12 ++++ 020_pyload.sh | 10 +++ 020_python.sh | 1 + 020_speechd-alsa.sh | 2 +- 020_torbrowser.sh | 13 ++++ 020_tvheadend.sh | 11 +++ 020_vim.sh | 2 +- 020_waterfox.sh | 11 ++- 020_zsh.sh | 2 +- 020_zsh_aliases.d.sh | 22 ++++++ 29 files changed, 470 insertions(+), 101 deletions(-) create mode 100644 001_enable-binfmt-misc.sh create mode 100644 020_devuan_arm-sdk.sh create mode 100644 020_drupal-compose.sh create mode 100644 020_drush.phar.sh create mode 100644 020_etcher.sh create mode 100644 020_grc.sh create mode 100644 020_keepass.sh delete mode 100644 020_kodi.sh create mode 100644 020_kodi_nightly_ppa.sh create mode 100644 020_kodi_ppa.sh create mode 100644 020_lsd.sh create mode 100644 020_nethogs.sh create mode 100644 020_obsproject.sh create mode 100644 020_pyload.sh create mode 100644 020_python.sh create mode 100644 020_torbrowser.sh create mode 100644 020_tvheadend.sh create mode 100644 020_zsh_aliases.d.sh diff --git a/001_apt-sources.sh b/001_apt-sources.sh index 9cbe9ca..af06352 100644 --- a/001_apt-sources.sh +++ b/001_apt-sources.sh @@ -8,8 +8,10 @@ AVAILABLE=/etc/apt/sources.list-available mkdir -p "${AVAILABLE}" SECTION=(main contrib non-free) -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') +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') +INACTIVE_LIST=('jessie' 'jessie-security' 'jessie-updates' 'jessie-backports' 'ascii' 'ascii-security' 'ascii-updates' 'ascii-backports' 'ceres') OTHER_LIST=('experimental') diff --git a/001_enable-binfmt-misc.sh b/001_enable-binfmt-misc.sh new file mode 100644 index 0000000..3a0a3b4 --- /dev/null +++ b/001_enable-binfmt-misc.sh @@ -0,0 +1,9 @@ +sudo apt-get install -y --reinstall qemu qemu-user-static binfmt-support +sudo update-binfmts --enable qemu-aarch64 + +sudo sed -i '10s/^$/yes/g' /var/lib/binfmts/qemu-arm /var/lib/binfmts/qemu-aarch64 + +sudo /etc/init.d/binfmt-support restart + +# test +sudo docker run --rm -it arm64v8/busybox echo Hello World diff --git a/010_apt-get.sh b/010_apt-get.sh index 02f7e34..487b874 100644 --- a/010_apt-get.sh +++ b/010_apt-get.sh @@ -17,13 +17,16 @@ apt-get -y install kpartx apt-get -y install inxi apt-get -y --force-yes install xmlstarlet apt-get -y install hexedit -apt-get -y install sshpass apt-get -y install wicd-curses apt-get -y install htop apt-get -y install iotop apt-get -y install sysstat apt-get -y install mpv +apt-get -y install netcat +apt-get -y install socat apt-get -y install youtube-dl +apt-get -y install tor +apt-get -y install torsocks apt-get -y install cmus apt-get -y install checkinstall apt-get -y install ntp ntpdate @@ -39,13 +42,17 @@ apt-get -y install shntools apt-get -y install lltag apt-get -y install firmware-iwlwifi #For thinkpad wifi: Intel 5100 AGN [Shiloh] -apt-get -y install grub-pc grub2 gpart - +apt-get -y install grub-pc grub2 gpart cgpt +apt-get -y install flex bison apt-get -y install rsync apt-get -y install socat apt-get -y install rox-filer apt-get -y install atril +apt-get -y install pandoc apt-get -y install libreoffice-pdfimport apt-get -y install terminology apt-get -y install geeqie +apt-get -y install vbindiff +apt-get -y install xwhexedit + diff --git a/010_python.sh b/010_python.sh index 922f1c7..ab5e9f0 100644 --- a/010_python.sh +++ b/010_python.sh @@ -2,6 +2,8 @@ apt-get install -y python-dev python3-dev apt-get install -y python3-requests apt-get install -y python3-autopep8 apt-get install -y python3-ipython +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 diff --git a/020_conky.sh b/020_conky.sh index b1320cf..a21213c 100644 --- a/020_conky.sh +++ b/020_conky.sh @@ -1,15 +1,46 @@ -apt-get -y install conky-all +apt-get -y install conky conky-all curl jq ttf-ubuntu-font-family +HOME=/home/default +USER=default + +echo "Hidden folder conky is created if it is not there" +[ -d "$HOME/.conky" ] || mkdir -p $HOME/".conky" -mkdir -p ~/.conkyrc.d #wget -q0- -O /tmp/tmp.zip https://dl.opendesktop.org/api/files/download/id/1465391516/137272-conky_grey.zip && unzip /tmp/tmp.zip && rm /tmp/tmp.zip -wget -qO- -O /var/tmp/aurora.tar.gz http://downloads.sourceforge.net/project/auroraconkytheme/Aurora_v3.0.4.tar.gz && tar xzvf /var/tmp/aurora.tar.gz && mv Aurora/ ~/.conkyrc.d && rm /var/tmp/aurora.tar.gz +wget -qO- -O /var/tmp/aurora.tar.gz http://downloads.sourceforge.net/project/auroraconkytheme/Aurora_v3.0.4.tar.gz && tar xzvf /var/tmp/aurora.tar.gz && mv Aurora/ ~/.conky && rm /var/tmp/aurora.tar.gz -cd /tmp -git clone https://github.com/maxiwell/conky-seamod +#cd /tmp +#git clone https://github.com/maxiwell/conky-seamod +#git clone https://github.com/zagortenay333/Harmattan apt-get install -y lm-sensors hddtemp dmidecode chmod u+s /usr/sbin/hddtemp chmod u+s /usr/sbin/dmidecode +chmod u+s /usr/sbin/smartctl + +cd $HOME/.conkyrc.d/Aurora + +echo "installing necessary fonts" +[ -d "~/.fonts" ] || mkdir -p $HOME/".fonts" +cp ./fonts/* ~/.fonts +sudo chown $USER ~/.fonts +sudo chmod 644 ~/.fonts/* +fc-cache -fv + +sensors-detect +service kmod restart + +echo "building conky-manager2" +apt-get install realpath p7zip-full rsync imagemagick +cd /var/tmp +sapt-get install valac libgtk-3-dev libgee-0.8-dev libjson-glib-dev +git clone https://github.com/zcot/conky-manager2 +cd conky-manager2 +sed -i -e 's,\(valac-\).*,valac/,' debian/control +dch -R +dpkg-buildpackage -us -uc -b +dpkg -i ../conky-manager_*deb +apt-get -f install + diff --git a/020_devuan_arm-sdk.sh b/020_devuan_arm-sdk.sh new file mode 100644 index 0000000..65dbc17 --- /dev/null +++ b/020_devuan_arm-sdk.sh @@ -0,0 +1,18 @@ +cd /space/code_repositories/ +mkdir devuan_arm-sdk && cd devuan_arm-sdk +git clone https://github.com/parazyd/arm-sdk + + +apt-get install curl git wget qemu-user-static build-essential rsync gcc-arm-none-eabi gcc-multilib lib32z1 u-boot-tools device-tree-compiler lzop dosfstools vboot-utils vboot-kernel-utils libftdi-dev libfdt-dev swig libpython-dev bc + + +cd arm-sdk + +./init.sh + +zsh -f +source sdk + +load devuan rockpro64 + +build_image_dist diff --git a/020_docker-compose.sh b/020_docker-compose.sh index 8a5c4e1..0b24427 100644 --- a/020_docker-compose.sh +++ b/020_docker-compose.sh @@ -1,71 +1,71 @@ #!/usr/bin/env bash +apt-get install docker-compose #dpkg -i /var/tmp/docker-compose/docker-compose_1.11.0-1_amd64.deb -BASE_URL='https://api.github.com/repos' -BASE_USER='docker' -BASE_REPO='compose' -RELEASES_URL="${BASE_URL}/${BASE_USER}/${BASE_REPO}"/releases -CONTENT=$(curl -s ${RELEASES_URL}/latest) -RELEASE=$(echo "${CONTENT}" | jq --raw-output '.tag_name') - -# make a containing directory -mkdir -p /var/tmp/docker-compose-"${RELEASE}" -cd /var/tmp/docker-compose-"${RELEASE}" || exit - -cat > ./description-pak << EOF -Compose is a tool for defining and running multi-container Docker applications. With Compose, you use a Compose file to configure your application’s services. Then, using a single command, you create and start all the services from your configuration. -EOF - -cat > ./checkinstall_it.sh << 'EOF' - -echo "ENTERING CHECKINSTALL" - -BASE_URL='https://api.github.com/repos' -BASE_USER='docker' -BASE_REPO='compose' -LICENSE_PAGE_URL="${BASE_URL}/${BASE_USER}/${BASE_REPO}"/license -RELEASES_URL="${BASE_URL}/${BASE_USER}/${BASE_REPO}"/releases -CONTENT=$(curl -s ${RELEASES_URL}/latest) -LATEST_URL=$(echo "${CONTENT}" | jq --raw-output '.assets[] | select(.browser_download_url | test("Linux-x86_64")) | .browser_download_url') - -echo "LATEST_URL: " "${LATEST_URL}" - -RELEASE=$(echo "${CONTENT}" | jq --raw-output '.tag_name') - -LICENSE_URL=$(curl "${LICENSE_PAGE_URL}" | jq --raw-output '.download_url') -wget -c ${LICENSE_URL} - -# make a new temporary directory for this use -BASE_TMP_DIR=~/tmptmp/checkinstall_tmp -mkdir -p ${BASE_TMP_DIR} - -# do your work -checkinstall -y --fstrans \ - --pkgname=docker-compose \ - --pkgversion=${RELEASE} \ - --pkgrelease=1 \ - --pkgarch=amd64 \ - --pkggroup=admin \ - --pkglicense=LICENSE \ - --pkgsource=${LATEST_URL} \ - --maintainer=cyteen@ring-zero.co.uk \ - --requires=docker-engine \ - -D \ - bash ./install.sh -EOF - -cat > ./install.sh << 'EOF' -BASE_URL='https://api.github.com/repos' -BASE_USER='docker' -BASE_REPO='compose' -RELEASES_URL="${BASE_URL}/${BASE_USER}/${BASE_REPO}"/releases -CONTENT=$(curl -s ${RELEASES_URL}/latest) -LATEST_URL=$(echo "${CONTENT}" | jq --raw-output '.assets[] | select(.browser_download_url | test("Linux-x86_64")) | .browser_download_url') - -# Download and copy the latest version to /usr/local/bin and make executable -curl -s -o /usr/local/bin/docker-compose -L ${LATEST_URL} && chmod +x /usr/local/bin/docker-compose -EOF - -bash ./checkinstall_it.sh - -docker-compose --version +# PROJECT=docker/compose +# PRERELEASE=false +# RELEASE=$(curl "https://api.github.com/repos/${PROJECT}/releases?per_page=5" | jq -r '.[0] | select( .prerelease = false ) |.tag_name') +# VERSION=$(echo "${RELEASE}" | cut -c 2- | cut -f1 -d"-") +# DOWNLOAD_DIR=/tmp +# +# # make a containing directory +# mkdir -p /var/tmp/docker-compose-"${RELEASE}" +# cd /var/tmp/docker-compose-"${RELEASE}" || exit +# +# cat > ./description-pak << EOF +# Compose is a tool for defining and running multi-container Docker applications. With Compose, you use a Compose file to configure your application’s services. Then, using a single command, you create and start all the services from your configuration. +# EOF +# +# cat > ./checkinstall_it.sh << 'EOF' +# +# echo "ENTERING CHECKINSTALL" +# +# BASE_URL='https://api.github.com/repos' +# BASE_USER='docker' +# BASE_REPO='compose' +# LICENSE_PAGE_URL="${BASE_URL}/${BASE_USER}/${BASE_REPO}"/license +# RELEASES_URL="${BASE_URL}/${BASE_USER}/${BASE_REPO}"/releases +# CONTENT=$(curl -s ${RELEASES_URL}/latest) +# LATEST_URL=$(echo "${CONTENT}" | jq --raw-output '.assets[] | select(.browser_download_url | test("Linux-x86_64")) | .browser_download_url') +# +# echo "LATEST_URL: " "${LATEST_URL}" +# +# RELEASE=$(echo "${CONTENT}" | jq --raw-output '.tag_name') +# +# LICENSE_URL=$(curl "${LICENSE_PAGE_URL}" | jq --raw-output '.download_url') +# wget -c ${LICENSE_URL} +# +# # make a new temporary directory for this use +# BASE_TMP_DIR=~/tmptmp/checkinstall_tmp +# mkdir -p ${BASE_TMP_DIR} +# +# # do your work +# checkinstall -y --fstrans \ +# --pkgname=docker-compose \ +# --pkgversion=${RELEASE} \ +# --pkgrelease=1 \ +# --pkgarch=amd64 \ +# --pkggroup=admin \ +# --pkglicense=LICENSE \ +# --pkgsource=${LATEST_URL} \ +# --maintainer=cyteen@ring-zero.co.uk \ +# --requires=docker-engine \ +# -D \ +# bash ./install.sh +# EOF +# +# cat > ./install.sh << 'EOF' +# BASE_URL='https://api.github.com/repos' +# BASE_USER='docker' +# BASE_REPO='compose' +# RELEASES_URL="${BASE_URL}/${BASE_USER}/${BASE_REPO}"/releases +# CONTENT=$(curl -s ${RELEASES_URL}/latest) +# LATEST_URL=$(echo "${CONTENT}" | jq --raw-output '.assets[] | select(.browser_download_url | test("Linux-x86_64")) | .browser_download_url') +# +# # Download and copy the latest version to /usr/local/bin and make executable +# curl -s -o /usr/local/bin/docker-compose -L ${LATEST_URL} && chmod +x /usr/local/bin/docker-compose +# EOF +# +# bash ./checkinstall_it.sh +# +# docker-compose --version diff --git a/020_docker.sh b/020_docker.sh index e5e322d..80fe7cd 100644 --- a/020_docker.sh +++ b/020_docker.sh @@ -1,12 +1,19 @@ # Install docker 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 "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 + +#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 -" + -bash -c "apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D" apt-get update apt-get -y install -q --no-install-recommends curl ca-certificates -apt-get -y install --force-yes docker-engine jq +apt-get -y install --force-yes jq +apt-get install -y docker-ce docker-ce-cli containerd.io #apt-get install -y --force-yes docker-engine=1.9.1-0~jessie #mkdir -p /var/lib/docker diff --git a/020_drupal-compose.sh b/020_drupal-compose.sh new file mode 100644 index 0000000..fe4eb3f --- /dev/null +++ b/020_drupal-compose.sh @@ -0,0 +1,4 @@ +php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" && \ + php composer-setup.php && \ + mv composer.phar /usr/local/bin/composer && \ + php -r "unlink('composer-setup.php');" diff --git a/020_drush.phar.sh b/020_drush.phar.sh new file mode 100644 index 0000000..005e87e --- /dev/null +++ b/020_drush.phar.sh @@ -0,0 +1,9 @@ +set +x +PROJECT=drush-ops/drush-launcher +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/${PROJECT}/releases/download/"${RELEASE}"/drush.phar +chmod +x drush.phar && \ + mv drush.phar /usr/local/bin/drush diff --git a/020_etcher.sh b/020_etcher.sh new file mode 100644 index 0000000..40a6bc9 --- /dev/null +++ b/020_etcher.sh @@ -0,0 +1,9 @@ +# https://github.com/balena-io/etcher + +echo "deb https://deb.etcher.io stable etcher" | sudo tee /etc/apt/sources.list-available/etcher.list +sudo ln -s /etc/apt/sources.list-available/etcher.list /etc/apt/sources.list.d/etcher.list + +sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 379CE192D401AB61 + +sudo apt-get update +sudo apt-get install balena-etcher-electron diff --git a/020_grc.sh b/020_grc.sh new file mode 100644 index 0000000..353a769 --- /dev/null +++ b/020_grc.sh @@ -0,0 +1,24 @@ +apt-get -y install grc +ALIAS_FILE=/home/default/.zsh_aliases.d/003-grc.sh +cat > ${ALIAS_FILE} <<'EOF' +# coloured output using grc +if [ -e /usr/bin/grc ]; then + alias cl="/usr/bin/grc -es --colour=auto" + alias ping="cl ping" + alias netstat="cl netstat" + alias traceroute="cl traceroute" + alias diff="cl diff" + alias tail="cl tail" + alias ps="cl ps" + alias lsof="cl lsof" + alias gcc="cl gcc" + alias make="cl make" + alias configure="cl configure" + alias ps="cl ps" + alias dig="cl dig" + alias ifconfig="cl /sbin/ifconfig" + alias mount="cl mount" + alias mtr="cl mtr --curses" + alias df="cl df -hT | column -t" +fi +EOF diff --git a/020_keepass.sh b/020_keepass.sh new file mode 100644 index 0000000..f0cab26 --- /dev/null +++ b/020_keepass.sh @@ -0,0 +1,9 @@ +set +x +PROJECT=magkopian/keepassxc-debian +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/${PROJECT}/releases/download/"${RELEASE}"/keepassxc_"${RELEASE}"_amd64_stable_stretch.deb +sudo dpkg -i "${DOWNLOAD_DIR}/keepassxc_${RELEASE}_amd64_stable_stretch.deb" +sudo apt-get -y -f install diff --git a/020_kodi.sh b/020_kodi.sh deleted file mode 100644 index 02c08c9..0000000 --- a/020_kodi.sh +++ /dev/null @@ -1,13 +0,0 @@ -sudo apt-get install kodi - -# Plugins -#covenant -#sanctuary http://sanctuaryrepo.esy.es/sanc/ -#neptune rising http://repo.mrblamo.xyz/ -#placenta -#sports devil -#incursion -#poseidon -#genesis reborn -#uranus -#maverick tv diff --git a/020_kodi_nightly_ppa.sh b/020_kodi_nightly_ppa.sh new file mode 100644 index 0000000..e5c7a1f --- /dev/null +++ b/020_kodi_nightly_ppa.sh @@ -0,0 +1,65 @@ +# sudo apt-get install kodi + +# 18.04 bionic buster +# 17.10 artful stretch + +RELEASE=bionic + +sudo echo "deb http://ppa.launchpad.net/team-xbmc/xbmc-nightly/ubuntu ${RELEASE} main" > /etc/apt/sources.list-available/kodi_nightly-ppa.list +sudo echo "deb-src http://ppa.launchpad.net/team-xbmc/xbmc-nightly/ubuntu ${RELEASE} main" >> /etc/apt/sources.list-available/kodi_nightly-ppa.list + +sudo ln -sf /etc/apt/sources.list-available/kodi_nightly-ppa.list /etc/apt/sources.list.d/kodi_nightly-ppa.list + +sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 6D975C4791E7EE5E + +sudo apt-get update + +# Plugins +#covenant +#sanctuary http://sanctuaryrepo.esy.es/sanc/ +#neptune rising http://repo.mrblamo.xyz/ +#placenta +#sports devil +#incursion +#poseidon +#genesis reborn +#uranus +#maverick tv +packages=" \ + ca-certificates \ + kodi=2:18.* \ + kodi-eventclients-kodi-send \ + kodi-pvr-argustv \ + kodi-pvr-dvbviewer \ + kodi-pvr-hdhomerun \ + kodi-pvr-hts \ + kodi-pvr-iptvsimple \ + kodi-pvr-mediaportal-tvserver \ + kodi-pvr-mythtv \ + kodi-pvr-nextpvr \ + kodi-pvr-njoy \ + kodi-pvr-vdr-vnsi \ + kodi-pvr-vuplus \ + kodi-pvr-wmc \ + kodi-eventclients-wiiremote \ + kodi-repository-kodi \ + vdr \ + vdr-plugin-vnsiserver + tzdata" + +packages_missing=" \ + kodi-game-libretro \ + kodi-inputstream-rtmp \ + kodi-inputstream-adaptive \ + kodi-peripheral-joystick \ + kodi-pvr-dvblink \ + kodi-pvr-filmon \ + kodi-pvr-octonet \ + kodi-pvr-pctv \ + kodi-pvr-stalker \ + kodi-pvr-teleboy \ + kodi-pvr-vbox \ + kodi-pvr-zattoo" + +sudo apt-get update && \ +sudo apt-get install -y --no-install-recommends $packages diff --git a/020_kodi_ppa.sh b/020_kodi_ppa.sh new file mode 100644 index 0000000..138dc6b --- /dev/null +++ b/020_kodi_ppa.sh @@ -0,0 +1,69 @@ +# sudo apt-get install kodi + +# 18.04 bionic buster +# 17.10 artful stretch + +RELEASE=bionic + +sudo echo "deb http://ppa.launchpad.net/team-xbmc/ppa/ubuntu ${RELEASE} main" > /etc/apt/sources.list-available/kodi-ppa.list +sudo echo "deb-src http://ppa.launchpad.net/team-xbmc/ppa/ubuntu ${RELEASE} main" >> /etc/apt/sources.list-available/kodi-ppa.list + +sudo ln -sf /etc/apt/sources.list-available/kodi-ppa.list /etc/apt/sources.list.d/kodi-ppa.list + +sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 6D975C4791E7EE5E + +sudo apt-get update + +# Plugins +#covenant +#sanctuary http://sanctuaryrepo.esy.es/sanc/ +#neptune rising http://repo.mrblamo.xyz/ +#placenta +#sports devil +#incursion +#poseidon +#genesis reborn +#uranus +#maverick tv + + +packages=" \ + ca-certificates \ + kodi=2:18.* \ + kodi-eventclients-kodi-send \ + kodi-pvr-argustv \ + kodi-pvr-dvbviewer \ + kodi-pvr-hdhomerun \ + kodi-pvr-hts \ + kodi-pvr-iptvsimple \ + kodi-pvr-mediaportal-tvserver \ + kodi-pvr-mythtv \ + kodi-pvr-nextpvr \ + kodi-pvr-njoy \ + kodi-pvr-vdr-vnsi \ + kodi-pvr-vuplus \ + kodi-pvr-wmc \ + kodi-eventclients-wiiremote \ + kodi-repository-kodi \ + vdr \ + vdr-plugin-vnsiserver \ + tzdata" + +packages_missing=" \ + kodi-game-libretro \ + kodi-inputstream-rtmp \ + kodi-inputstream-adaptive \ + kodi-peripheral-joystick \ + kodi-pvr-dvblink \ + kodi-pvr-filmon \ + kodi-pvr-octonet \ + kodi-pvr-pctv \ + kodi-pvr-stalker \ + kodi-pvr-teleboy \ + kodi-pvr-vbox \ + kodi-pvr-zattoo" + +sudo apt-get update && \ +sudo apt-get install -y --no-install-recommends $packages +sudo apt-get install -y --no-install-recommends $packages_missing +sudo apt-get install -y --no-install-recommends diff --git a/020_lsd.sh b/020_lsd.sh new file mode 100644 index 0000000..beff516 --- /dev/null +++ b/020_lsd.sh @@ -0,0 +1,40 @@ +PREFIX=/tmp +NAME=lsd +PROJECT=Peltoche/lsd +RELEASE=$(curl -s https://api.github.com/repos/${PROJECT}/releases/latest | grep tarball_url | cut -d '"' -f 4 | awk -F "/" {'print $8'}) + +wget -c -P ${PREFIX} https://github.com/${PROJECT}/releases/download/${RELEASE}/${NAME}_${RELEASE}_amd64.deb + +dpkg -i ${PREFIX}/${NAME}_${RELEASE}_amd64.deb +apt-get -f install + +# Aliases +#FLAGS +# -a, --all Do not ignore entries starting with . +# --classic Enable classic mode (no colors or icons) +# --help Prints help information +# -h, --human-readable For ls compatibility purposes ONLY, currently set by default +# -F, --classify Append indicator (one of */=>@|) at the end of the file names +# -l, --long Display extended file metadata as a table +# -1, --oneline Display one entry per line +# -R, --recursive Recurse into directories +# -r, --reverse Reverse the order of the sort +# -t, --timesort Sort by time modified +# --tree Recurse into directories and present the result as a tree +# -V, --version Prints version information + +#OPTIONS: +# --color ... When to use terminal colours [default: auto] [possible values: always, auto, never] +# --date ... How to display date [default: date] [possible values: date, relative] +# --depth Stop recursing into directories after reaching specified depth +# --group-dirs ... Sort the directories then the files [default: none] [possible values: none, first, last] +# --icon ... When to print the icons [default: auto] [possible values: always, auto, never] +# --icon-theme ... Whether to use fancy or unicode icons [default: fancy] [possible values: fancy, unicode] + + +ALIAS_FILE=/home/default/.zsh_aliases.d/003-lsd.sh +cat > ${ALIAS_FILE} <<'EOF' +if [ -x /usr/bin/lsd ]; then + alias lsd="/usr/bin/ls" +fi +EOF diff --git a/020_nethogs.sh b/020_nethogs.sh new file mode 100644 index 0000000..4a734a4 --- /dev/null +++ b/020_nethogs.sh @@ -0,0 +1,2 @@ +apt-get install nethogs +setcap "cap_net_admin,cap_net_raw+pe" /usr/sbin/nethogs diff --git a/020_obsproject.sh b/020_obsproject.sh new file mode 100644 index 0000000..19ffbe2 --- /dev/null +++ b/020_obsproject.sh @@ -0,0 +1 @@ +sudo apt-get install obs-studio ffmpeg diff --git a/020_pbuilder.sh b/020_pbuilder.sh index 39354b6..277f621 100644 --- a/020_pbuilder.sh +++ b/020_pbuilder.sh @@ -168,6 +168,18 @@ EOF chmod +x ${HOOK_DIR}/D05deps +# The debs created by pbuild are generated here so include them as well. +cat > ${HOOK_DIR}/D06deps << 'EOF' +LOCAL_REPO="/var/cache/pbuilder/result" + +#!/bin/bash +echo "deb [trusted=yes] file://${LOCAL_REPO} ./" > /etc/apt/sources.list.d/pbuild-local.list +(cd ${LOCAL_REPO}; apt-ftparchive packages . > Packages) +apt-get update +EOF + +chmod +x ${HOOK_DIR}/D06deps + #Update cow image on changes above #DIST=${DIST} ARCH=${ARCH} git-pbuilder create --override-config --mirror http://pkgmaster.devuan.org DIST=${DIST} ARCH=${ARCH} git-pbuilder create diff --git a/020_pyload.sh b/020_pyload.sh new file mode 100644 index 0000000..aae9d5b --- /dev/null +++ b/020_pyload.sh @@ -0,0 +1,10 @@ +PREFIX=/tmp +NAME=pyload +PROJECT=pyload/pyload +RELEASE=$(curl -s https://api.github.com/repos/${PROJECT}/releases/latest | grep tarball_url | cut -d '"' -f 4 | awk -F "/" {'print $8'}) + + +wget -c -P ${PREFIX} https://github.com/${PROJECT}/releases/download/${RELEASE}/${NAME}_${RELEASE}_amd64.deb + +dpkg -i ${PREFIX}/${NAME}_${RELEASE}_amd64.deb +apt-get -f install diff --git a/020_python.sh b/020_python.sh new file mode 100644 index 0000000..d64649c --- /dev/null +++ b/020_python.sh @@ -0,0 +1 @@ +apt install python3-requests python3-lxml python3-cssselect feh diff --git a/020_speechd-alsa.sh b/020_speechd-alsa.sh index dbd2098..09cabb7 100644 --- a/020_speechd-alsa.sh +++ b/020_speechd-alsa.sh @@ -1,6 +1,6 @@ # Given a choice of selecting settings to match pulseaudio if installedor alsa when not, they just install it broken and recommend pulseaudio, nice. -#apt-get install speech-dispatcher speech-dispatcher-espeak-ng python3-speechd espeek-ng espeak-ng-espeak +apt-get install speech-dispatcher speech-dispatcher-festival speech-dispatcher-espeak-ng python3-speechd espeek-ng espeak-ng-espeak SPEECHD_CONF=/etc/speech-dispatcher/speechd.conf diff --git a/020_torbrowser.sh b/020_torbrowser.sh new file mode 100644 index 0000000..b0ef2c5 --- /dev/null +++ b/020_torbrowser.sh @@ -0,0 +1,13 @@ +#!/bin/bash + +TBB_VERSION=7.5.6 +WORKDIR=//var/tmp +HOMEDIR=/opt + +cd ${WORKDIR} +wget -c https://www.torproject.org/dist/torbrowser/${TBB_VERSION}/tor-browser-linux64-${TBB_VERSION}_en-US.tar.xz + +cd ${HOMEDIR} +tar xf ${WORKDIR}/tor-browser-linux64-${TBB_VERSION}_en-US.tar.xz + + diff --git a/020_tvheadend.sh b/020_tvheadend.sh new file mode 100644 index 0000000..967b285 --- /dev/null +++ b/020_tvheadend.sh @@ -0,0 +1,11 @@ +sudo wget -qO- https://doozer.io/keys/tvheadend/tvheadend/pgp | sudo apt-key add - + +#sudo sh -c 'echo "deb https://apt.tvheadend.org/unstable stretch main" | tee -a /etc/apt/sources.list-available/tvheadend.list' +sudo sh -c 'echo "deb https://apt.tvheadend.org/unstable xenial main"' | tee -a /etc/apt/sources.list-available/tvheadend.list + +sudo ln -sf /etc/apt/sources.list-available/tvheadend.list /etc/apt/sources.list.d/tvheadend.list + +sudo apt-get update +sudo apt-get install -y tvheadend + +sudo service tvheadend restart diff --git a/020_vim.sh b/020_vim.sh index 9c0c2d0..ab2f11f 100644 --- a/020_vim.sh +++ b/020_vim.sh @@ -1,5 +1,5 @@ set +x -#apt-get install vim-gtk +#apt-get install vim-gtk vifm sed -i -e 's/"syntax on/syntax on/' /etc/vim/vimrc sed -i -e 's/"set background=dark/set background=dark/' /etc/vim/vimrc diff --git a/020_waterfox.sh b/020_waterfox.sh index eaa2794..1d207ab 100644 --- a/020_waterfox.sh +++ b/020_waterfox.sh @@ -2,13 +2,18 @@ set -e mkdir -p /etc/apt//sources.list-available || exit cat > /etc/apt/sources.list-available/waterfox.list << EOF -# curl https://bintray.com/user/downloadSubjectPublicKey\?username\=hawkeye116477 | sudo apt-key add - -deb https://dl.bintray.com/hawkeye116477/waterfox-deb release main +# wget -nv https://download.opensuse.org/repositories/home:hawkeye116477:waterfox/Debian_Testing/Release.key -O Release.key +# apt-key add - < Release.key +deb http://download.opensuse.org/repositories/home:/hawkeye116477:/waterfox/Debian_Testing/ / EOF +# The dl-bintray repo doesn't play nice with apt-proxy +#echo "Acquire::http::Proxy { dl.bintray.com DIRECT; };" >> /etc/apt/apt.conf.d/02proxy + ln -sf /etc/apt/sources.list-available/waterfox.list /etc/apt/sources.list.d/waterfox.list -curl "https://bintray.com/user/downloadSubjectPublicKey\?username\=hawkeye116477" | sudo apt-key add - +wget -nv https://download.opensuse.org/repositories/home:hawkeye116477:waterfox/Debian_Testing/Release.key -O Release.key +apt-key add - < Release.key apt-get update diff --git a/020_zsh.sh b/020_zsh.sh index 8976491..c5de6cb 100644 --- a/020_zsh.sh +++ b/020_zsh.sh @@ -36,7 +36,7 @@ touch /var/tmp/nvim_python.log # debians locate db locate # sed -i 's,^\(export LOCATE_PATH=\).*,\1'/var/lib/mlocate/mlocate.db',' ~/.zshrc -echo "export LOCATE_PATH=/var/lib/mlocate/mlocate.db" > ~/.zshrc.d/005-locatedb +echo "export LOCATE_PATH=/var/lib/mlocate/mlocate.db" > ~/.zshrc.d/005-locatedb.zsh # add plugins to the load-starter-plugin-list() function in ~/.zgen-setup ~/zsh-quickstart-kit/zsh/.zgen-setup # FIXED: create a file named .zgen-local-plugins and add your zgen load commands there. diff --git a/020_zsh_aliases.d.sh b/020_zsh_aliases.d.sh new file mode 100644 index 0000000..b9fccad --- /dev/null +++ b/020_zsh_aliases.d.sh @@ -0,0 +1,22 @@ +mkdir -p ~/.zsh_aliases.d + +ALIAS_FILE=/home/default/.zsh_aliases +cat >> ${ALIAS_FILE} <<'EOF' + +# Enable .zsh_aliases.d to keep aliases separate from env variables +if [ -d ~/.zsh_aliases.d ]; then + for f (~/.zsh_aliases.d/**/*(N.)) . $f +fi +EOF + +ALIAS_FILE=/home/default/.zsh_aliases.d/003_local.sh +cat > ${ALIAS_FILE} <<'EOF' +alias locate='locate --existing --follow --basename --ignore-case' +alias wget="wget --content-disposition -c" +alias leech="wget -e robots=off -c -r --level=0 -nc -np --random-wait" +alias bc='bc -lq' +alias shred='ionice -c3 /usr/bin/shred -fuzv' +alias wipe='ionice -c3 /usr/bin/wipe -l1 -v -r' +alias less="less -R" +alias youtube-dl='youtube-dl --external-downloader=aria2c' +EOF From c37797b4897535810d8f2227a9a30b2fcb23c260 Mon Sep 17 00:00:00 2001 From: Cyteen Date: Mon, 25 Mar 2019 10:45:38 +0000 Subject: [PATCH 46/64] Commit before pull and merge. --- .020_pycharm-install.sh.swp | Bin 0 -> 12288 bytes 001_apt-sources.sh | 5 +- 001_udev-rules.sh | 26 ++++ 010_apt-get.sh | 1 + 010_hddtemp.sh | 4 + 020_arduino.sh | 139 +++++++++++++++++++- 020_etcher.io.sh | 7 + 020_freecad.sh | 32 ++++- 020_ghack_userjs.sh | 3 + 020_nvidia_cuda.sh | 41 ++++++ 020_photogrametry.sh | 22 ++++ 020_platformio-core.sh | 247 ++++++++++++++++++++++++++++++++++++ 020_pycharm-install.sh | 66 ++++++---- 020_python-jf.sh | 9 ++ 020_riot.sh | 10 ++ 020_tmux.sh | 18 ++- 020_unetbootin.sh | 8 +- 020_vim.sh | 24 +++- 020_waterfox.sh | 10 +- firefox-speedup.example | 42 ++++++ thinkpad-dock.sh | 2 +- 21 files changed, 664 insertions(+), 52 deletions(-) create mode 100644 .020_pycharm-install.sh.swp create mode 100644 010_hddtemp.sh create mode 100644 020_etcher.io.sh create mode 100644 020_ghack_userjs.sh create mode 100644 020_nvidia_cuda.sh create mode 100644 020_photogrametry.sh create mode 100644 020_platformio-core.sh create mode 100644 020_python-jf.sh create mode 100644 020_riot.sh create mode 100644 firefox-speedup.example diff --git a/.020_pycharm-install.sh.swp b/.020_pycharm-install.sh.swp new file mode 100644 index 0000000000000000000000000000000000000000..0bd2cabd73bdaba4d6029b4abbd7240a22b02082 GIT binary patch literal 12288 zcmeI2&u`pB6vtnYssg3_6!%9`QjlUh2?a&jZXnuhLWGi*q(nj$3bXdC*In<}8qX%# z5QI3uox*{?0PzR(${7#`#DTwn1EO3I;)am;+VO68yG@{iOQc!p8^`vWH}8Gk%v(j7 z#?1EGI?uZ^gwK;i8xv36SpE4dou42IWK(owlfOCfBib^S>O_;`rMD}zXF93Z5SerX zZ)R?0C++zyp*v2bG9%*H&07EL$68ndmcRoN=$fW8e}P__n=Q8bKxH04t-5iHq-Dd%O1f(&qZkc71be?drz+6W*BF&i%}s*&WddUb*ZBvO&^s zC49+mNxxm5KV+xJj?>JH7AmW%1UKcI{08S1TkLw}lm6L7oLS_##i?07WFsX@tuOH+ z4|^T9oSN#pImUvheszVmrOu*6v7acTlb9oAWT=I~vjql)W+VgdW>Ob#bW`|}n~CNy zGA^wqNf=9BN>i?@FjA7Q^-K%i0=X;WB<)BAtF_W)?g&^Bd}bmQPV-)5S{!4T)95+* z6;TBFk6o!nC`U#P95=dQD78yl-84ZY(1hO%g_E@NZ zS7MR1sq~_8;M6yXMidJy_fZ7ja7QBaU^>rJCqWl^;uvWp8nGOH22MCYs?0Q}-8klM zT6j;ps7;XUDVJ(V0Jki%EXobxCZAp?5%=(o4ZT3<_$dHKK&UP$#%u!sM{)5`{M?5@t5QiF`5RbR)uBZ^6gZas z0527GX;~D^K}G)99B~AyAV@csW!5%HzFUm$y+b3gN75^s47x`#fGAe%WKAA1${C>}p=aqO|q>5Thu zG0Y7Q*r^rXXmT%?<#-t0Lmv6E-5rKPCnuZog(nUyE3VGk@uZR<)EN37;7(~X0 zhiC(lp?kW0bv(X7&5riRc#EcC$Nwsz!R#YL84Y|m_w4^nK6n1#>NAFFZf17gopmqM Q /etc/udev/rules.d/99-ch341a-prog.rules << 'EOF' +SUBSYSTEM!="usb", GOTO="ch431a-prog_rules_end" + +ATTRS{idVendor}=="1a86", ATTRS{idProduct}=="5512", MODE="0666", GROUP="plugdev" + +LABEL="ch431a-prog_rules_end" +EOF + +echo 'blacklist usbtest' >> /etc/modprobe.d/blacklist.conf cat > /etc/udev/rules.d/99-xf2-logic.rules << 'EOF' SUBSYSTEM!="usb", GOTO="fx2-probe--programming_rules_end" @@ -55,6 +64,22 @@ ATTRS{idVendor}=="10C4", ATTRS{idProduct}=="EA61", MODE="0666", GROUP="plugdev" LABEL="cp210x-programming_rules_end" EOF +cat > /etc/udev/rules.d/99-ftdi.rules << 'EOF' +SUBSYSTEM=="usb", GOTO="ftdi_rules_end" + +ATTR{product}=="ftdi", ATTR{idProduct}=="0403", ATTRS{idVendor}=="6001", MODE="0666", GROUP="plugdev" + +LABEL="ftdi_rules_end" +EOF + +cat > /etc/udev/rules.d/99-USBasp.rules << 'EOF' +SUBSYSTEM=="usb", GOTO="USBasp_rules_end" + +ATTR{product}=="USBasp", ATTR{idProduct}=="05dc", ATTRS{idVendor}=="16c0", MODE="0666", GROUP="plugdev" + +LABEL="USBasp_rules_end" +EOF + cat > /etc/udev/rules.d/81-thinkpad-dock.rules << 'EOF' KERNEL=="dock.0", ACTION=="change", RUN+="/usr/local/sbin/thinkpad-dock.sh" EOF @@ -66,3 +91,4 @@ ATTR{idVendor}=="18d1", ATTR{idProduct}=="4ee7", MODE="0666", GROUP="plugdev", S LABEL="android_rules_end" EOF + diff --git a/010_apt-get.sh b/010_apt-get.sh index 02f7e34..8664201 100644 --- a/010_apt-get.sh +++ b/010_apt-get.sh @@ -25,6 +25,7 @@ apt-get -y install sysstat apt-get -y install mpv apt-get -y install youtube-dl apt-get -y install cmus +apt-get -y install scdl apt-get -y install checkinstall apt-get -y install ntp ntpdate apt-get -y install nmap diff --git a/010_hddtemp.sh b/010_hddtemp.sh new file mode 100644 index 0000000..ed480f2 --- /dev/null +++ b/010_hddtemp.sh @@ -0,0 +1,4 @@ +apt-get install -y hddtemp + +# RUN_DAEMON="false" +sed -i 's,^\(RUN_DAEMON=\).*,\1'\"true\"',' /etc/default/hddtemp diff --git a/020_arduino.sh b/020_arduino.sh index 8bbbc21..fd7bd1a 100644 --- a/020_arduino.sh +++ b/020_arduino.sh @@ -1,18 +1,143 @@ +ARDUINO_VERSION=1.8.5 +#ARDUINO_VERSION=nightly +#ARDUINO_HOME=~/ +ARDUINO_HOME=/opt +ARDUINO_DIR=${ARDUINO_HOME}/arduino-${ARDUINO_VERSION}/ +ARDUINO_TOOLS_DIR=${ARDUINO_TOOLS_DIR} +ADD_URLS= -cd /var/tmp -#ARDUINO_VERSION=1.8.3 -ARDUINO_VERSION=nightly +mkdir "${ARDUINO_TOOLS_DIR}" +sudo apt-get install gcc-arm-none-eabi openocd bsdtar + +cd /var/tmp || exit + +#Install arduino IDE wget -c https://downloads.arduino.cc/arduino-${ARDUINO_VERSION}-linux64.tar.xz && \ - cd /opt && \ + cd ${ARDUINO_HOME} && \ tar xf /var/tmp/arduino-${ARDUINO_VERSION}-linux64.tar.xz -usermod -a -G dialout $USER && \ +usermod -a -G dialout "${USER}" && \ apt-get install git python-serial -mkdir -p ~/Arduino/hardware/espressif && \ - cd ~/Arduino/hardware/espressif && \ +#https://raw.githubusercontent.com/espressif/arduino-esp32/master/package/package_esp32_index.template.json +#http://arduino.esp8266.com/stable/package_esp8266com_index.json +#https://github.com/stm32duino/BoardManagerFiles/raw/master/STM32/package_stm_index.json +#https://sandeepmistry.github.io/arduino-nRF5/package_nRF5_boards_index.json +#https://micooke.github.io/package_nRF5_smartwatches_index.json + +# https://github.com/arduino/Arduino/wiki/Unofficial-list-of-3rd-party-boards-support-urls +# Install ESP32 core +ADD_URLS="${ADD_URLS},https://raw.githubusercontent.com/espressif/arduino-esp32/master/package/package_esp32_index.template.json" +${ARDUINO_DIR}/arduino \ + --pref boardsmanager.additional.urls=${ADD_URLS} \ + --save-prefs +# arduino [--install-boards package name:platform architecture[:version]] +${ARDUINO_DIR}/arduino --install-boards esp32:esp32 + +mkdir -p ${ARDUINO_DIR}/hardware/espressif && \ + cd ${ARDUINO_DIR}/hardware/espressif && \ git clone https://github.com/espressif/arduino-esp32.git esp32 && \ + cd esp32 && \ + git submodule update --init --recursive && \ cd esp32/tools/ && \ python get.py +# Install ESP8266 +cd /var/tmp || exit +ADD_URLS="${ADD_URLS},http://arduino.esp8266.com/stable/package_esp8266com_index.json" +echo ${ADD_URLS} +${ARDUINO_DIR}/arduino \ + --pref boardsmanager.additional.urls=${ADD_URLS} \ + --save-prefs +# arduino [--install-boards package name:platform architecture[:version]] +${ARDUINO_DIR}/arduino --install-boards esp8266:esp8266 + + + +# Install stm32 bluepill +# http://docs.leaflabs.com/static.leaflabs.com/pub/leaflabs/maple-docs/latest/arduino-compatibility.html +# --pref boardsmanager.additional.urls="http://dan.drown.org/stm32duino/package_STM32duino_index.json" \ +#${ARDUINO_DIR}/arduino --install-boards stm32duino:STM32F1 +ADD_URLS="${ADD_URLS},https://github.com/stm32duino/BoardManagerFiles/raw/master/STM32/package_stm_index.json" +echo ${ADD_URLS} +${ARDUINO_DIR}/arduino \ + --pref boardsmanager.additional.urls=${ADD_URLS} \ + --save-prefs + +## arduino [--install-boards package name:platform architecture[:version]] +${ARDUINO_DIR}/arduino --install-boards STM32:stm32 + + +# Install NRF5x sandeepmistry https://github.com/sandeepmistry/arduino-nRF5 +#name "BBC micro:bit" +#name "Bluz DK" +#name "Generic nRF51822" +#name "Generic nRF52823" +#name "OSHChip" +#name "ng-beacon" +#name "nRF51 Dongle" +#name "nRF51822 Development Kit" +#name "nRF52 DK" +#name "RedBear BLE Nano 2" +#name "RedBear Blend 2" +#name "RedBearLab BLE Nano" +#name "RedBearLab nRF51822" +#name "Waveshare BLE400" + +ADD_URLS="${ADD_URLS},https://sandeepmistry.github.io/arduino-nRF5/package_nRF5_boards_index.json" +echo ${ADD_URLS} +${ARDUINO_DIR}/arduino \ + --pref boardsmanager.additional.urls=${ADD_URLS} \ + --save-prefs + +# arduino [--install-boards package name:platform architecture[:version]] +${ARDUINO_DIR}/arduino --install-boards sandeepmistry:nRF5 + +NRF_HOME=${ARDUINO_TOOLS_DIR}/nRF5FlashSoftDevice/tool/ +mkdir -p "${NRF_HOME}" && wget -c --directory-prefix "${NRF_HOME}" https://github.com/sandeepmistry/arduino-nRF5/releases/download/tools/nRF5FlashSoftDevice.jar + + +# nRF5 watches https://github.com/micooke/arduino-nRF5-smartwatches +# Smartwatch variants for sandeepmistry's Nordic Semiconductor nRF5 core +#name "IDO003" +#name "ID100HR" +#name "ID107HR" +#name "ID107HR Plus" +ADD_URLS="${ADD_URLS},https://micooke.github.io/package_nRF5_smartwatches_index.json" +${ARDUINO_DIR}/arduino \ + --pref boardsmanager.additional.urls=${ADD_URLS} \ + --save-prefs + +## arduino [--install-boards package name:platform architecture[:version]] +${ARDUINO_DIR}/arduino --install-boards micooke:nRF5 +## Install Readbear NRF5x +#cd /var/tmp || exit +#${ARDUINO_DIR}/arduino \ +# --pref="boardsmanager.additional.urls=https://redbearlab.github.io/arduino/package_redbearlab_index.json"\ +# --save-prefs +# +#wget -c https://raw.githubusercontent.com/RedBearLab/nRF51822-Arduino/S130/98-daplink.rules +#cp 98-daplink.rules /etc/udev/rules.d/ +# +#sudo udevadm control --reload-rules +# +## Fix the upload problem on Linux 64bit system +# +#sudo apt-get install lsb-core +# +#sudo apt-get install libudev1:i386 +# +#sudo ln -sf /lib/x86_64-linux-gnu/libudev.so.1 /lib/x86_64-linux-gnu/libudev.so.0 + +# Guru meditation decode - get a more meaningful explanation of the stack traces you get on ESP8266/ESP32. +wget -qO - https://github.com/me-no-dev/EspExceptionDecoder/releases/download/1.1.0/EspExceptionDecoder-1.1.0.zip | bsdtar -C "${ARDUINO_TOOLS_DIR}" -xvf- + + +# Other libraries direct from github +git clone https://github.com/adafruit/Touch-Screen-Library ~/Arduino/libraries/TouchScreen + +# https://learn.adafruit.com/ahrs-for-adafruits-9-dof-10-dof-breakout/sensor-fusion-algorithmsahrs +git clone https://github.com/PaulStoffregen/MahonyAHRS ~/Arduino/libraries/MahonyAHRS +git clone https://github.com/PaulStoffregen/MadgwickAHRS ~/Arduino/libraries/MadgwickAHRS + diff --git a/020_etcher.io.sh b/020_etcher.io.sh new file mode 100644 index 0000000..6f469f5 --- /dev/null +++ b/020_etcher.io.sh @@ -0,0 +1,7 @@ +echo "deb https://deb.etcher.io stable etcher" | sudo tee /etc/apt/sources.list-available/etcher.list +ln -s /etc/apt/sources.list-available/etcher.list /etc/apt/sources.list.d/etcher.list + +sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 379CE192D401AB61 + +sudo apt-get update +sudo apt-get install etcher-electron diff --git a/020_freecad.sh b/020_freecad.sh index e1f3fcb..d371a0f 100644 --- a/020_freecad.sh +++ b/020_freecad.sh @@ -2,15 +2,15 @@ # debian is still on 0.16 but 0.17 is needed for current workbenches # If building, use cmake gui for configuring the build. -sudo apt-get install -y cmake-qt-gui +sudo apt-get install -y cmake-qt-gui python-numpy python3-numpy z88 # the ppa has calculix-ccx eigen3 freecad-daily (0.18~beta1) opencascade # ppa:freecad-maintainers/freecad-daily # sudo add-apt-repository ppa:freecad-maintainers/freecad-daily # sudo apt-get update -# YOUR_UBUNTU_VERSION_HERE=bionic # 18.04 buster/sid -YOUR_UBUNTU_VERSION_HERE=artful # 17.10 stretch/sid + YOUR_UBUNTU_VERSION_HERE=bionic # 18.04 buster/sid +# YOUR_UBUNTU_VERSION_HERE=artful # 17.10 stretch/sid # YOUR_UBUNTU_VERSION_HERE=xenial # 16.04 stretch/sid # YOUR_UBUNTU_VERSION_HERE=trusty # 14.04 jessie/sid @@ -18,7 +18,7 @@ sudo bash -c "cat > /etc/apt/sources.list-available/freecad-daily.list" < /etc/apt/sources.list-available/freecad-stable.list" < /etc/apt/sources.list-available/elmer.list" < /etc/apt/sources.list-available/elmer.list" < /etc/apt/sources.list-available/cuda.list +#echo 'deb http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1704/x86_64 /' >> /etc/apt/sources.list-available/cuda.list +#ln -s /etc/apt/sources.list-available/cuda.list /etc/apt/sources.list.d/cuda.list +# +#sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1704/x86_64/7fa2af80.pub +#sudo apt-get update +#sudo apt-get install cuda + +# debian +apt-get install \ + nvidia-cuda-toolkit \ + nvidia-cuda-mps \ + nvidia-visual-profiler \ + nvidia-cuda-dev + +# libnvidia-legacy-304xx-cuda1 - NVIDIA CUDA Driver Library (304xx legacy version) +# libnvidia-legacy-304xx-nvcuvid1 - NVIDIA CUDA Video Decoder runtime library (304xx legacy version) +# libnvidia-legacy-340xx-cuda1 - NVIDIA CUDA Driver Library (340xx legacy version) +# libnvidia-legacy-340xx-nvcuvid1 - NVIDIA CUDA Video Decoder runtime library (340xx legacy version) + + diff --git a/020_photogrametry.sh b/020_photogrametry.sh new file mode 100644 index 0000000..21447bd --- /dev/null +++ b/020_photogrametry.sh @@ -0,0 +1,22 @@ +## VisualSFM - A Visual Structure from Motion System +# http://ccwu.me/vsfm/ + +VSFM_HOME=/var/tmp/vsfm +mkdir ${VSFM_HOME} +cd ${VSFM_HOME} + +http://ccwu.me/vsfm/download/VisualSFM_linux_64bit.zip + + +# BigSFM + +# MVE +http://www.gcc.tu-darmstadt.de/home/proj/mve/ + +# insight3d +http://insight3d.sourceforge.net/ +http://sourceforge.net/projects/insight3dng/ + +# Optical Targets used in professional application: +http://hubbsmachine.com/5-retro-reflective-tape-target +http://hubbsmachine.com/4-retro-reflective-contrast-photogrammetry-targets diff --git a/020_platformio-core.sh b/020_platformio-core.sh new file mode 100644 index 0000000..1eee345 --- /dev/null +++ b/020_platformio-core.sh @@ -0,0 +1,247 @@ +# http://docs.platformio.org/en/latest/faq.html#faq-install-shell-commands + +sudo apt-get install python python-pip checkinstall + +# sudo python -c "$(curl -fsSL https://raw.githubusercontent.com/platformio/platformio/develop/scripts/get-platformio.py)" + +# uninstall existing version +pip uninstall platformio + +# install the latest development version of PlatformIO + +PROJECT=platformio/platformio-core +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"-") +PIO_BUILD_HOME=/var/tmp/platformio-core-"${VERSION}" + +mkdir -p "${PIO_BUILD_HOME}" && cd "${PIO_BUILD_HOME}" || exit +echo "PlatformIO Core (CLI tool) for embedded programming." > description-pak +mkdir -p doc-pak && wget -c --directory-prefix doc-pak https://raw.githubusercontent.com/platformio/platformio-core/develop/README.rst +echo "http://docs.platformio.org/en/latest/userguide/index.html" > doc-pak/README +sudo checkinstall --fstrans=no pip install -U https://github.com/platformio/platformio-core/archive/"${RELEASE}".zip + +# install some platforms +platformio platform install espressif8266 +platformio platform install espressif32 +platformio platform install nordicnrf51 +platformio platform install nordicnrf52 +platformio platform install ststm32 +platformio platform install timsp430 +platformio platform install atmelavr + +# To revert to the latest stable version +#pip uninstall platformio +#pip install -U platformio + + +# pip install puts the results in usr/local/bin so we don't have a path issue +#platformio: /usr/local/bin/platformio + +cat > ~/.zshrc.d/008_platformio.zsh << 'EOF' +if [[ -d "/usr/local/bin/platormio" ]]; then + + autoload bashcompinit && bashcompinit + eval "$(_PLATFORMIO_COMPLETE=source platformio)" + eval "$(_PLATFORMIO_COMPLETE=source pio)" +fi +EOF + +cat > ~/.profile << 'EOF' + +if [ -d "/usr/local/bin/platformio" ] ; then + + eval "$(_PLATFORMIO_COMPLETE=source platformio)" + eval "$(_PLATFORMIO_COMPLETE=source pio)" +fi +EOF + + +# http://docs.platformio.org/en/latest/faq.html#platformio-udev-rules +# https://raw.githubusercontent.com/platformio/platformio-core/develop/scripts/99-platformio-udev.rules +sudo bash -c "cat > /etc/udev/rules.d/99-platformio-udev.rules" << 'EOF' +# +# Boards +# + +# CP210X USB UART +SUBSYSTEMS=="usb", ATTRS{idVendor}=="10c4", ATTRS{idProduct}=="ea60", MODE:="0666" + +# FT232R USB UART +SUBSYSTEMS=="usb", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001", MODE:="0666" + +# Prolific Technology, Inc. PL2303 Serial Port +SUBSYSTEMS=="usb", ATTRS{idVendor}=="067b", ATTRS{idProduct}=="2303", MODE:="0666" + +# QinHeng Electronics HL-340 USB-Serial adapter +SUBSYSTEMS=="usb", ATTRS{idVendor}=="1a86", ATTRS{idProduct}=="7523", MODE:="0666" + +# Arduino boards +SUBSYSTEMS=="usb", ATTRS{idVendor}=="2341", ATTRS{idProduct}=="[08][02]*", MODE:="0666" +SUBSYSTEMS=="usb", ATTRS{idVendor}=="2a03", ATTRS{idProduct}=="[08][02]*", MODE:="0666" + +# Arduino SAM-BA +ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="6124", ENV{ID_MM_DEVICE_IGNORE}="1" +ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="6124", ENV{MTP_NO_PROBE}="1" +SUBSYSTEMS=="usb", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="6124", MODE:="0666" +KERNEL=="ttyACM*", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="6124", MODE:="0666" + +# Digistump boards +SUBSYSTEMS=="usb", ATTRS{idVendor}=="16d0", ATTRS{idProduct}=="0753", MODE:="0666" +KERNEL=="ttyACM*", ATTRS{idVendor}=="16d0", ATTRS{idProduct}=="0753", MODE:="0666", ENV{ID_MM_DEVICE_IGNORE}="1" + +# STM32 discovery boards, with onboard st/linkv2 +SUBSYSTEMS=="usb", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="374?", MODE:="0666" + +# USBtiny +SUBSYSTEMS=="usb", ATTRS{idProduct}=="0c9f", ATTRS{idVendor}=="1781", MODE="0666" + +# USBasp V2.0 +SUBSYSTEMS=="usb", ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="05dc", MODE:="0666" + +# Teensy boards +ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="04[789]?", ENV{ID_MM_DEVICE_IGNORE}="1" +ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="04[789]?", ENV{MTP_NO_PROBE}="1" +SUBSYSTEMS=="usb", ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="04[789]?", MODE:="0666" +KERNEL=="ttyACM*", ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="04[789]?", MODE:="0666" + +#TI Stellaris Launchpad +SUBSYSTEMS=="usb", ATTRS{idVendor}=="1cbe", ATTRS{idProduct}=="00fd", MODE="0666" + +#TI MSP430 Launchpad +SUBSYSTEMS=="usb", ATTRS{idVendor}=="0451", ATTRS{idProduct}=="f432", MODE="0666" + + +# +# Debuggers +# + +# Black Magic Probe +SUBSYSTEM=="tty", ATTRS{interface}=="Black Magic GDB Server" +SUBSYSTEM=="tty", ATTRS{interface}=="Black Magic UART Port" + +# opendous and estick +ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="204f", MODE="660", GROUP="plugdev", TAG+="uaccess" + +# Original FT232/FT245 VID:PID +ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001", MODE="660", GROUP="plugdev", TAG+="uaccess" + +# Original FT2232 VID:PID +ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6010", MODE="660", GROUP="plugdev", TAG+="uaccess" + +# Original FT4232 VID:PID +ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6011", MODE="660", GROUP="plugdev", TAG+="uaccess" + +# Original FT232H VID:PID +ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6014", MODE="660", GROUP="plugdev", TAG+="uaccess" + +# DISTORTEC JTAG-lock-pick Tiny 2 +ATTRS{idVendor}=="0403", ATTRS{idProduct}=="8220", MODE="660", GROUP="plugdev", TAG+="uaccess" + +# TUMPA, TUMPA Lite +ATTRS{idVendor}=="0403", ATTRS{idProduct}=="8a98", MODE="660", GROUP="plugdev", TAG+="uaccess" +ATTRS{idVendor}=="0403", ATTRS{idProduct}=="8a99", MODE="660", GROUP="plugdev", TAG+="uaccess" + +# XDS100v2 +ATTRS{idVendor}=="0403", ATTRS{idProduct}=="a6d0", MODE="660", GROUP="plugdev", TAG+="uaccess" + +# Xverve Signalyzer Tool (DT-USB-ST), Signalyzer LITE (DT-USB-SLITE) +ATTRS{idVendor}=="0403", ATTRS{idProduct}=="bca0", MODE="660", GROUP="plugdev", TAG+="uaccess" +ATTRS{idVendor}=="0403", ATTRS{idProduct}=="bca1", MODE="660", GROUP="plugdev", TAG+="uaccess" + +# TI/Luminary Stellaris Evaluation Board FTDI (several) +ATTRS{idVendor}=="0403", ATTRS{idProduct}=="bcd9", MODE="660", GROUP="plugdev", TAG+="uaccess" + +# TI/Luminary Stellaris In-Circuit Debug Interface FTDI (ICDI) Board +ATTRS{idVendor}=="0403", ATTRS{idProduct}=="bcda", MODE="660", GROUP="plugdev", TAG+="uaccess" + +# egnite Turtelizer 2 +ATTRS{idVendor}=="0403", ATTRS{idProduct}=="bdc8", MODE="660", GROUP="plugdev", TAG+="uaccess" + +# Section5 ICEbear +ATTRS{idVendor}=="0403", ATTRS{idProduct}=="c140", MODE="660", GROUP="plugdev", TAG+="uaccess" +ATTRS{idVendor}=="0403", ATTRS{idProduct}=="c141", MODE="660", GROUP="plugdev", TAG+="uaccess" + +# Amontec JTAGkey and JTAGkey-tiny +ATTRS{idVendor}=="0403", ATTRS{idProduct}=="cff8", MODE="660", GROUP="plugdev", TAG+="uaccess" + +# TI ICDI +ATTRS{idVendor}=="0451", ATTRS{idProduct}=="c32a", MODE="660", GROUP="plugdev", TAG+="uaccess" + +# STLink v1 +ATTRS{idVendor}=="0483", ATTRS{idProduct}=="3744", MODE="660", GROUP="plugdev", TAG+="uaccess" + +# STLink v2 +ATTRS{idVendor}=="0483", ATTRS{idProduct}=="3748", MODE="660", GROUP="plugdev", TAG+="uaccess" + +# STLink v2-1 +ATTRS{idVendor}=="0483", ATTRS{idProduct}=="374b", MODE="660", GROUP="plugdev", TAG+="uaccess" + +# Hilscher NXHX Boards +ATTRS{idVendor}=="0640", ATTRS{idProduct}=="0028", MODE="660", GROUP="plugdev", TAG+="uaccess" + +# Hitex STR9-comStick +ATTRS{idVendor}=="0640", ATTRS{idProduct}=="002c", MODE="660", GROUP="plugdev", TAG+="uaccess" + +# Hitex STM32-PerformanceStick +ATTRS{idVendor}=="0640", ATTRS{idProduct}=="002d", MODE="660", GROUP="plugdev", TAG+="uaccess" + +# Altera USB Blaster +ATTRS{idVendor}=="09fb", ATTRS{idProduct}=="6001", MODE="660", GROUP="plugdev", TAG+="uaccess" + +# Amontec JTAGkey-HiSpeed +ATTRS{idVendor}=="0fbb", ATTRS{idProduct}=="1000", MODE="660", GROUP="plugdev", TAG+="uaccess" + +# SEGGER J-Link +ATTRS{idVendor}=="1366", ATTRS{idProduct}=="0101", MODE="660", GROUP="plugdev", TAG+="uaccess" +ATTRS{idVendor}=="1366", ATTRS{idProduct}=="0102", MODE="660", GROUP="plugdev", TAG+="uaccess" +ATTRS{idVendor}=="1366", ATTRS{idProduct}=="0103", MODE="660", GROUP="plugdev", TAG+="uaccess" +ATTRS{idVendor}=="1366", ATTRS{idProduct}=="0104", MODE="660", GROUP="plugdev", TAG+="uaccess" +ATTRS{idVendor}=="1366", ATTRS{idProduct}=="0105", MODE="660", GROUP="plugdev", TAG+="uaccess" +ATTRS{idVendor}=="1366", ATTRS{idProduct}=="0107", MODE="660", GROUP="plugdev", TAG+="uaccess" +ATTRS{idVendor}=="1366", ATTRS{idProduct}=="0108", MODE="660", GROUP="plugdev", TAG+="uaccess" +ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1010", MODE="660", GROUP="plugdev", TAG+="uaccess" +ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1011", MODE="660", GROUP="plugdev", TAG+="uaccess" +ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1012", MODE="660", GROUP="plugdev", TAG+="uaccess" +ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1013", MODE="660", GROUP="plugdev", TAG+="uaccess" +ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1014", MODE="660", GROUP="plugdev", TAG+="uaccess" +ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1015", MODE="660", GROUP="plugdev", TAG+="uaccess" +ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1016", MODE="660", GROUP="plugdev", TAG+="uaccess" +ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1017", MODE="660", GROUP="plugdev", TAG+="uaccess" +ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1018", MODE="660", GROUP="plugdev", TAG+="uaccess" + +# Raisonance RLink +ATTRS{idVendor}=="138e", ATTRS{idProduct}=="9000", MODE="660", GROUP="plugdev", TAG+="uaccess" + +# Debug Board for Neo1973 +ATTRS{idVendor}=="1457", ATTRS{idProduct}=="5118", MODE="660", GROUP="plugdev", TAG+="uaccess" + +# Olimex ARM-USB-OCD +ATTRS{idVendor}=="15ba", ATTRS{idProduct}=="0003", MODE="660", GROUP="plugdev", TAG+="uaccess" + +# Olimex ARM-USB-OCD-TINY +ATTRS{idVendor}=="15ba", ATTRS{idProduct}=="0004", MODE="660", GROUP="plugdev", TAG+="uaccess" + +# Olimex ARM-JTAG-EW +ATTRS{idVendor}=="15ba", ATTRS{idProduct}=="001e", MODE="660", GROUP="plugdev", TAG+="uaccess" + +# Olimex ARM-USB-OCD-TINY-H +ATTRS{idVendor}=="15ba", ATTRS{idProduct}=="002a", MODE="660", GROUP="plugdev", TAG+="uaccess" + +# Olimex ARM-USB-OCD-H +ATTRS{idVendor}=="15ba", ATTRS{idProduct}=="002b", MODE="660", GROUP="plugdev", TAG+="uaccess" + +# USBprog with OpenOCD firmware +ATTRS{idVendor}=="1781", ATTRS{idProduct}=="0c63", MODE="660", GROUP="plugdev", TAG+="uaccess" + +# TI/Luminary Stellaris In-Circuit Debug Interface (ICDI) Board +ATTRS{idVendor}=="1cbe", ATTRS{idProduct}=="00fd", MODE="660", GROUP="plugdev", TAG+="uaccess" + +# Marvell Sheevaplug +ATTRS{idVendor}=="9e88", ATTRS{idProduct}=="9e8f", MODE="660", GROUP="plugdev", TAG+="uaccess" + +# Keil Software, Inc. ULink +ATTRS{idVendor}=="c251", ATTRS{idProduct}=="2710", MODE="660", GROUP="plugdev", TAG+="uaccess" + +# CMSIS-DAP compatible adapters +ATTRS{product}=="*CMSIS-DAP*", MODE="660", GROUP="plugdev", TAG+="uaccess" +EOF diff --git a/020_pycharm-install.sh b/020_pycharm-install.sh index 97c92a8..dd7a28b 100644 --- a/020_pycharm-install.sh +++ b/020_pycharm-install.sh @@ -1,32 +1,46 @@ ## pycharm python ide -#PYCHARM_VERSION=2016.3 -#cd /var/tmp && wget -c https://d1opms6zj7jotq.cloudfront.net/python/pycharm-community-${PYCHARM_VERSION}.tar.gz && tar xzvf /var/tmp/pycharm-community-${PYCHARM_VERSION}.tar.gz -#cd /var/tmp/pycharm-community-${PYCHARM_VERSION} +PYCHARM_VERSION=2018.1.4 +cd /var/tmp && wget -c https://download.jetbrains.com/python/pycharm-community-${PYCHARM_VERSION}.tar.gz && tar xzvf /var/tmp/pycharm-community-${PYCHARM_VERSION}.tar.gz -#cat << EF > ./install_pycharm.sh -#PYCHARM_VERSION=${PYCHARM_VERSION} -##cd /var/tmp -##wget -c http://download-cf.jetbrains.com/python/pycharm-community-${PYCHARM_VERSION}.tar.gz -#tar xzvf /var/tmp/pycharm-community-${PYCHARM_VERSION}.tar.gz -C /opt -#ln -fs /opt/pycharm-community-${PYCHARM_VERSION} /opt/pycharm -#ln -s /opt/pycharm/bin/pycharm.sh /usr/local/bin/pycharm -#ln -s /opt/pycharm/bin/inspect.sh /usr/local/bin/inspect -#cat << EOF > /opt/pycharm/pycharm.desktop -#[Desktop Entry] -#Type=Application -#Name=pyCharm IDE -#GenericName=Integrated Development Environment -#Comment=An IDE for the python programming language -#Exec=/opt/pycharm/bin/pycharm.sh -#Icon=/opt/pycharm/bin/pycharm.png -#Terminal=false -#Categories=Development;IDE;Electronics; -#MimeType=text/x-python -#Keywords=python;programming;ide; -#EOF -#EF +cd /var/tmp/pycharm-community-${PYCHARM_VERSION} || exit + +cat << EF > ./install_pycharm.sh +PYCHARM_VERSION=${PYCHARM_VERSION} +cd /var/tmp || exit +#wget -c http://download.jetbrains.com/python/pycharm-community-${PYCHARM_VERSION}.tar.gz +tar xzvf /var/tmp/pycharm-community-${PYCHARM_VERSION}.tar.gz -C /opt +ln -sf /opt/pycharm-community-${PYCHARM_VERSION} /opt/pycharm +ln -sf /opt/pycharm/bin/pycharm.sh /usr/local/bin/pycharm +ln -sf /opt/pycharm/bin/inspect.sh /usr/local/bin/inspect + +cat << EOF > /opt/pycharm/pycharm.desktop +[Desktop Entry] +Type=Application +Name=pyCharm IDE +GenericName=Integrated Development Environment +Comment=An IDE for the python programming language +Exec=/opt/pycharm/bin/pycharm.sh +Icon=/opt/pycharm/bin/pycharm.png +Terminal=false +Categories=Development;IDE;Electronics; +MimeType=text/x-python +Keywords=python;programming;ide; +EOF +EF + +cat << EOF > ./description-pak +PyCharm is an integrated development environment (IDE) used for the Python language. + +Coding assistance and analysis, with code completion, syntax and error highlighting, linter integration. +Python refactoring: extract method, introduce variable, introduce constant, pull up and push down. +Support for web frameworks: Django, web2py and Flask +Integrated Python debugger. +Integrated unit testing, with line-by-line code coverage. +Google App Engine Python development. +Version control integration: unified user interface for git. +EOF echo 'checkinstall -y --fstrans=no --install=no bash ./install_pycharm.sh 2>&1 | tee err' > checkinstall_pycharm.sh && bash ./checkinstall_pycharm.sh -dpkg -i /var/tmp/pycharm-community-${PYCHARM_VERSION}/pycharm-community_${PYCHARM_VERSION}-1_amd64.deb +dpkg -i /var/tmp/pycharm-community-"${PYCHARM_VERSION}"/pycharm-community_"${PYCHARM_VERSION}"-1_amd64.deb diff --git a/020_python-jf.sh b/020_python-jf.sh new file mode 100644 index 0000000..8e12ecc --- /dev/null +++ b/020_python-jf.sh @@ -0,0 +1,9 @@ +PROJECT=alhoo/jf +#RELEASE=$(curl --silent "https://api.github.com/repos/${PROJECT}/releases/latest" | grep '"tag_name":' | sed -E 's/.*"([^"]+)".*/\1/') +RELEASE=$(curl "https://api.github.com/repos/${PROJECT}/tags?per_page=5" | jq -r '.[0] | .name') +JF_BUILD_HOME=/var/tmp/python-jf-"${RELEASE}" + +mkdir -p "${JF_BUILD_HOME}" && cd "${JF_BUILD_HOME}" || exit +echo "JF, is a jq-clone written in python. It supports evaluation of python oneliners, making it especially appealing for data scientists who are used to working with python." > description-pak +mkdir -p doc-pak && wget -c --directory-prefix doc-pak https://raw.githubusercontent.com/${PROJECT}/develop/README.rst +sudo checkinstall --fstrans=no pip install -U https://github.com/${PROJECT}/archive/"${RELEASE}".zip diff --git a/020_riot.sh b/020_riot.sh new file mode 100644 index 0000000..5e78943 --- /dev/null +++ b/020_riot.sh @@ -0,0 +1,10 @@ +sudo sh -c "echo 'deb https://riot.im/packages/debian/ artful main' > /etc/apt/sources.list-available/matrix-riot-im.list" + +sudo ln -s /etc/apt/sources.list-available/matrix-riot-im.list /etc/apt/sources.list.d/matrix-riot-im.list + +# Add the public key: +curl -L https://riot.im/packages/debian/repo-key.asc | sudo apt-key add - + +sudo apt-get update && apt-get -y install riot-web + + diff --git a/020_tmux.sh b/020_tmux.sh index 503f919..bc4eb7f 100644 --- a/020_tmux.sh +++ b/020_tmux.sh @@ -169,10 +169,11 @@ set -g pane-active-border-fg colour069 # 24 blue # set -g pane-active-border-bg black EOF -mkdir -p ~/.zshrc.d/ -echo "source /usr/share/zsh/vendor_completions/_tmuxinator" > ~/.zshrc.d/006_tmuxinator.zsh +#mkdir -p ~/.zshrc.d/ +#echo "source /usr/share/zsh/vendor_completions/_tmuxinator" > ~/.zshrc.d/006_tmuxinator.zsh mkdir -p ~/.tmux/plugins/tpm +mkdir -p ~/.tmux/.tmuxp #cat > ~/.config/tmux/tmux.conf << 'EOF' cat > ~/.tmux.conf << 'EOF' @@ -238,6 +239,19 @@ set -g @tpm_plugins ' \ # tmux-plugins/tmux-sensible \ #' +# tmux-resurrect will now restore vim and neovim sessions if `Session.vim` file is present. +# for vim resurrect +set -g @rsurrect-strategy-vim 'session' + +# for neovim resurrect +set -g @resurrect-strategy-nvim 'session' + +# panes +set -g @resurrect-capture-pane-contents 'on' + +# shell history +set -g @resurrect-save-shell-history 'on' + # Initialize TMUX plugin manager #run '~/.tmux/plugins/tpm/tpm' diff --git a/020_unetbootin.sh b/020_unetbootin.sh index e743f76..2035b0f 100644 --- a/020_unetbootin.sh +++ b/020_unetbootin.sh @@ -4,8 +4,10 @@ #apt-get update #apt-get install unetbootin +VERSION=661 + cd /var/tmp -wget -c https://github.com/unetbootin/unetbootin/releases/download/655/unetbootin-linux64-655.bin -chmod +x ./unetbootin-linux-* +wget -c https://github.com/unetbootin/unetbootin/releases/download/${VERSION}/unetbootin-linux64-${VERSION}.bin +chmod +x ./unetbootin-linux64-${VERSION}.bin apt-get install p7zip-full -./unetbootin-linux-* +./unetbootin-linux64-${VERSION}.bin diff --git a/020_vim.sh b/020_vim.sh index 9c0c2d0..7d3fb25 100644 --- a/020_vim.sh +++ b/020_vim.sh @@ -60,6 +60,11 @@ set showmatch let python_highlight_all = 1 syntax on +" Shortcut to rapidly toggle `set list` +nmap l :set list! + +" Use the same symbols as TextMate for tabstops and EOLs +set listchars=tab:▸\ ,eol:¬ " tmux will only forward escape sequences to the terminal if surrounded by a DCS sequence " http://sourceforge.net/mailarchive/forum.php?thread_name=AANLkTinkbdoZ8eNR1X2UobLTeww1jFrvfJxTMfKSq-L%2B%40mail.gmail.com&forum_name=tmux-users @@ -136,6 +141,7 @@ call vundle#begin() Plugin 'VundleVim/Vundle.vim' " plugin on GitHub repos +Plugin 'joonty/vdebug' Plugin 'tpope/vim-fugitive' Plugin 'jreybert/vimagit' Plugin 'wincent/command-t' @@ -162,8 +168,17 @@ Plugin 'edkolev/tmuxline.vim' Plugin 'terryma/vim-multiple-cursors' Plugin 'sudar/vim-arduino-syntax' Plugin 'ekalinin/Dockerfile.vim' +Plugin ' mattboehm/vim-unstack' Plugin 'tmux-plugins/vim-tmux' +" vim-snipmate +Plugin 'MarcWeber/vim-addon-mw-utils' +Plugin 'tomtom/tlib_vim' +Plugin 'garbas/vim-snipmate + +" Optional: +Plugin 'honza/vim-snippets' + " requires tmux.conf setting: set -g focus-events on or tmux-plugins/tmux-sensible plugin. Plugin 'tmux-plugins/vim-tmux-focus-events' @@ -178,6 +193,13 @@ Plugin 'majutsushi/tagbar' Plugin 'scrooloose/nerdtree' Plugin 'jistr/vim-nerdtree-tabs' +map :NERDTreeToggle +silent! nmap :NERDTreeToggle +silent! map :NERDTreeFind + +let g:NERDTreeMapActivateNode="" +let g:NERDTreeMapPreview="" + Plugin 'saltstack/salt-vim' Plugin 'plasticboy/vim-markdown' Plugin 'fatih/vim-go' @@ -188,7 +210,7 @@ Plugin 'jmcantrell/vim-virtualenv' Plugin 'fisadev/vim-isort' " Automatically sort python imports " Python mode (indentation, doc, refactor, lints, code checking, motion and " operators, highlighting, run and ipdb breakpoints) -Plugin 'klen/python-mode' +Plugin 'python-mode/python-mode Plugin 'scrooloose/syntastic' Plugin 'scrooloose/nerdcommenter' Plugin 'sbdchd/neoformat' diff --git a/020_waterfox.sh b/020_waterfox.sh index 22e05c2..1d207ab 100644 --- a/020_waterfox.sh +++ b/020_waterfox.sh @@ -2,16 +2,18 @@ set -e mkdir -p /etc/apt//sources.list-available || exit cat > /etc/apt/sources.list-available/waterfox.list << EOF -# curl https://bintray.com/user/downloadSubjectPublicKey\?username\=hawkeye116477 | sudo apt-key add - -deb https://dl.bintray.com/hawkeye116477/waterfox-deb release main +# wget -nv https://download.opensuse.org/repositories/home:hawkeye116477:waterfox/Debian_Testing/Release.key -O Release.key +# apt-key add - < Release.key +deb http://download.opensuse.org/repositories/home:/hawkeye116477:/waterfox/Debian_Testing/ / EOF # The dl-bintray repo doesn't play nice with apt-proxy -echo "Acquire::http::Proxy { dl.bintray.com DIRECT; };" >> /etc/apt/apt.conf.d/02proxy +#echo "Acquire::http::Proxy { dl.bintray.com DIRECT; };" >> /etc/apt/apt.conf.d/02proxy ln -sf /etc/apt/sources.list-available/waterfox.list /etc/apt/sources.list.d/waterfox.list -curl "https://bintray.com/user/downloadSubjectPublicKey\?username\=hawkeye116477" | sudo apt-key add - +wget -nv https://download.opensuse.org/repositories/home:hawkeye116477:waterfox/Debian_Testing/Release.key -O Release.key +apt-key add - < Release.key apt-get update diff --git a/firefox-speedup.example b/firefox-speedup.example new file mode 100644 index 0000000..5399544 --- /dev/null +++ b/firefox-speedup.example @@ -0,0 +1,42 @@ +# browser.safebrowsing.remoteLookups unset +# browser.cache.use_new_backend 1 +# network.http.pipelining.ssl true +# network.http.pipelining true +# network.http.proxy.pipelining true +# network.http.pipelining.maxrequests 120 +# network.dns.disableIPv6 true +# browser.safebrowsing.malware.enabled false + +# browser.cache.disk.enable false +# browser.cache.memory.enable true +# browser.cache.memory.capacity integer 204800 + + + + +PROFILE_NAME=ybokieeb + +cd ${HOME}/.mozilla/firefox/ + +cp -a ${PROFILE_NAME}.default/ profile.bac + +rm -rf profile_name.default/* + +echo "tmpfs /home/${USER}/.mozilla/firefox/${PROFILE_NAME}.default tmpfs size=128M,user,exec,uid=1000,gid=1000 0 0" >> /etc/fstab + +sudo mount -a + +cd ${HOME}/.mozilla/firefox/ + +cp -a profile.bac/* ${PROFILE_NAME}.default/ + +echo > /usr/local/bin/ff_profile_sync < "EOF" +#!/bin/sh +cd /home/${USER}/.mozilla/firefox/ +if test -d *.default;then +if test -d profile.bac;then +rsync -a --delete *.default/ profile.bac/ +fi;fi +EOF + +(crontab -l 2>/dev/null; echo "*/5 * * * * /usr/local/bin/ff_profile_sync > /dev/null 2>&1") | crontab - diff --git a/thinkpad-dock.sh b/thinkpad-dock.sh index 1713506..d04bb39 100755 --- a/thinkpad-dock.sh +++ b/thinkpad-dock.sh @@ -7,7 +7,7 @@ case "$DOCKED" in #undocked event - lets remove all connected outputs apart from LVDS for output in $(/usr/bin/xrandr -d :0.0 --verbose|grep " connected"|grep -v LVDS|awk '{print $1}') do - /usr/bin/xrandr -d :0.0 --output $output --off + /usr/bin/xrandr -d :0.0 --output "$output" --off done ;; "1") From 6cefc1ef1484bac7dec15be7b7dec0d51110bf48 Mon Sep 17 00:00:00 2001 From: Cyteen May Date: Mon, 25 Mar 2019 11:51:34 +0000 Subject: [PATCH 47/64] Change to vi mode in zsh. --- 020_zsh.sh | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/020_zsh.sh b/020_zsh.sh index 0cb941e..3b63d28 100644 --- a/020_zsh.sh +++ b/020_zsh.sh @@ -213,6 +213,12 @@ ZSH_THEME="agnoster" # powerline based theme #ZSH_THEME="Pure" EOF +cat > ~/.zshrc.d/001-vi-mode.sh << 'EOF' + # Set vi mode + bindkey -v +EOF + + #git clone https://github.com/bhilburn/powerlevel9k.git ~/.zgen/robbyrussell/oh-my-zsh-master/themes/powerlevel9k ## add a separate zsh aliases directory From 9cb1bdf0e4a284b669e28459134aaf5515324f9f Mon Sep 17 00:00:00 2001 From: Cyteen May Date: Tue, 26 Mar 2019 13:45:10 +0000 Subject: [PATCH 48/64] Set meld as the diff tool for git difftool. --- 020_git-mergetool.sh | 71 ++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 69 insertions(+), 2 deletions(-) diff --git a/020_git-mergetool.sh b/020_git-mergetool.sh index 33f8131..e386a59 100644 --- a/020_git-mergetool.sh +++ b/020_git-mergetool.sh @@ -1,3 +1,70 @@ -git config merge.tool meld -#git config merge.tool gvimdiff3 +BIN_DIR=/usr/local/bin +#BIN_DIR=~/bin + +# Available tools: +git difftool --tool-help + +DIFF_TOOL=meld # graphical diff/merge tool +MERGE_TOOL=meld + + # DIFF_TOOL=vimdiff3 # terminal diff/merge tool + # MERGE_TOOL=vimdiff3 + +# $LOCAL is the file in the current branch (e.g. master). +# $REMOTE is the file in the branch being merged (e.g. branch_name). +# $MERGED is the partially merged file with the merge conflict information in it. +# $BASE is the shared commit ancestor of $LOCAL and $REMOTE, this is to say the file as it was when the branch containing $REMOTE was originally created. + + +git config --global merge.tool ${MERGE_TOOL} +git config --global merge.conflictstyle diff3 +#git config --global mergetool.${MERGE_TOOL}.cmd ${MERGE_TOOL} '$LOCAL $BASE $MERGED' + +git config --global diff.tool ${DIFF_TOOL} +git config --global difftool.prompt false +git config --global alias.d difftool +#git config --global difftool.${DIFF_TOOL}.cmd ${DIFF_TOOL} '$LOCAL $REMOTE' + +git config merge.tool ${MERGE_TOOL} git config merge.conflictstyle diff3 +#git config mergetool.${MERGE_TOOL}.cmd ${MERGE_TOOL} '$LOCAL $BASE $MERGED' + +git config diff.tool ${DIFF_TOOL} +git config difftool.prompt false +git config alias.d difftool +#git config --global difftool.${DIFF_TOOL}.cmd ${DIFF_TOOL} '$LOCAL $REMOTE' + +echo "Global: Active mergetool: $(git config --global merge.tool)" +echo "Global: Merge style: $(git config --global merge.conflictstyle)" + +echo "Global: Active difftool: $(git config --global diff.tool)" +echo "Global: Prompt for difftool: $(git config --global difftool.prompt)" + +echo "Active mergetool: $(git config merge.tool)" +echo "Merge style: $(git config merge.conflictstyle)" + +echo "Active difftool: $(git config diff.tool)" +echo "Prompt for difftool: $(git config difftool.prompt)" + +# to use an unsupported tool see below. +#git config --global diff.external ${BIN_DIR}/git-diff-vimdiff.sh + +# the executable specified by GIT_EXTERNAL_DIFF will be called with a fixed set of 7 arguments: + +# path old-file old-hex old-mode new-file new-hex new-mode + +#cat > ${BIN_DIR}/git-diff-meld.sh <<'EOF' +##!/bin/bash +#echo $* +#meld $2 $5 +#EOF +# +#chmod +x ${BIN_DIR}/git-diff-meld.sh +# +#cat > ${BIN_DIR}/git-diff-vimdiff.sh <<'EOF' +##!/bin/bash +#echo $* +#vimdiff $2 $5 +#EOF +# +#chmod +x ${BIN_DIR}/git-diff-vimdiff.sh From 31c15648f965986de65715812c967349ff25d59c Mon Sep 17 00:00:00 2001 From: Cyteen May Date: Tue, 26 Mar 2019 13:46:28 +0000 Subject: [PATCH 49/64] New scripts for sundry applications. --- .020_pycharm-install.sh.swp | Bin 12288 -> 0 bytes 010_alsa.sh | 6 ++ 020_fmui.sh | 131 ++++++++++++++++++++++++++++++++++++ 020_lsd.sh | 3 +- 020_surf.sh | 8 +++ 020_vifm.sh | 28 ++++++++ 020_vim.sh | 8 ++- 020_xmonad.sh | 23 +++++++ 020_zsh.sh | 1 + 9 files changed, 205 insertions(+), 3 deletions(-) delete mode 100644 .020_pycharm-install.sh.swp create mode 100644 020_fmui.sh create mode 100644 020_surf.sh create mode 100644 020_vifm.sh create mode 100644 020_xmonad.sh diff --git a/.020_pycharm-install.sh.swp b/.020_pycharm-install.sh.swp deleted file mode 100644 index 0bd2cabd73bdaba4d6029b4abbd7240a22b02082..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12288 zcmeI2&u`pB6vtnYssg3_6!%9`QjlUh2?a&jZXnuhLWGi*q(nj$3bXdC*In<}8qX%# z5QI3uox*{?0PzR(${7#`#DTwn1EO3I;)am;+VO68yG@{iOQc!p8^`vWH}8Gk%v(j7 z#?1EGI?uZ^gwK;i8xv36SpE4dou42IWK(owlfOCfBib^S>O_;`rMD}zXF93Z5SerX zZ)R?0C++zyp*v2bG9%*H&07EL$68ndmcRoN=$fW8e}P__n=Q8bKxH04t-5iHq-Dd%O1f(&qZkc71be?drz+6W*BF&i%}s*&WddUb*ZBvO&^s zC49+mNxxm5KV+xJj?>JH7AmW%1UKcI{08S1TkLw}lm6L7oLS_##i?07WFsX@tuOH+ z4|^T9oSN#pImUvheszVmrOu*6v7acTlb9oAWT=I~vjql)W+VgdW>Ob#bW`|}n~CNy zGA^wqNf=9BN>i?@FjA7Q^-K%i0=X;WB<)BAtF_W)?g&^Bd}bmQPV-)5S{!4T)95+* z6;TBFk6o!nC`U#P95=dQD78yl-84ZY(1hO%g_E@NZ zS7MR1sq~_8;M6yXMidJy_fZ7ja7QBaU^>rJCqWl^;uvWp8nGOH22MCYs?0Q}-8klM zT6j;ps7;XUDVJ(V0Jki%EXobxCZAp?5%=(o4ZT3<_$dHKK&UP$#%u!sM{)5`{M?5@t5QiF`5RbR)uBZ^6gZas z0527GX;~D^K}G)99B~AyAV@csW!5%HzFUm$y+b3gN75^s47x`#fGAe%WKAA1${C>}p=aqO|q>5Thu zG0Y7Q*r^rXXmT%?<#-t0Lmv6E-5rKPCnuZog(nUyE3VGk@uZR<)EN37;7(~X0 zhiC(lp?kW0bv(X7&5riRc#EcC$Nwsz!R#YL84Y|m_w4^nK6n1#>NAFFZf17gopmqM Q /etc/udev/rules.d/00_alsa-usb.rules << 'EOF' +# Default to using additional (USB) sound cards when they are available. +KERNEL=="pcmC[D0-9cp]*", ACTION=="add", PROGRAM="/bin/sh -c 'K=%k; K=$${K#pcmC}; K=$${K%%D*}; echo defaults.ctl.card $$K > /etc/asound.conf; echo defaults.pcm.card $$K >>/etc/asound.conf'" +KERNEL=="pcmC[D0-9cp]*", ACTION=="remove", PROGRAM="/bin/sh -c 'echo defaults.ctl.card 0 > /etc/asound.conf; echo defaults.pcm.card 0 >>/etc/asound.conf'" +EOF diff --git a/020_fmui.sh b/020_fmui.sh new file mode 100644 index 0000000..174c0cf --- /dev/null +++ b/020_fmui.sh @@ -0,0 +1,131 @@ +cd /var/tmp + +apt-get install -y toilet fzf mpc vis ffmpeg + +# pip3 install --user fmui + +git clone https://github.com/seebye/fmui /usr/local + +PROJECT=seebye/fmui +PRERELEASE=false +# RELEASE=$(curl "https://api.github.com/repos/${PROJECT}/releases?per_page=5" | jq -r '.[0] | select( .prerelease = false ) |.tag_name') +# VERSION=$(echo "${RELEASE}" | cut -c 2- | cut -f1 -d"-") +VERSION=$( date +%Y-%m-%d_ )git +DOWNLOAD_DIR=/tmp + +# make a containing directory +mkdir -p /var/tmp/fmui-"${RELEASE}" +cd /var/tmp/fmui-"${RELEASE}" || exit + +cat > ./description-pak << EOF +**f**zf **m**pd **u**ser **i**nterface +EOF + +cat > ./checkinstall_it.sh << 'EOF' + +echo "ENTERING CHECKINSTALL" + +BASE_URL='https://api.github.com/repos' +BASE_USER='seebye' +BASE_REPO='fmui' +LICENSE_PAGE_URL="${BASE_URL}/${BASE_USER}/${BASE_REPO}"/license +RELEASES_URL="${BASE_URL}/${BASE_USER}/${BASE_REPO}"/releases + +# CONTENT=$(curl -s ${RELEASES_URL}/latest) +# LATEST_URL=$(echo "${CONTENT}" | jq --raw-output '.assets[] | select(.browser_download_url | test("Linux-x86_64")) | .browser_download_url') + +echo "LATEST_URL: " "${LATEST_URL}" + +# RELEASE=$(echo "${CONTENT}" | jq --raw-output '.tag_name') + +# LICENSE_URL=$(curl "${LICENSE_PAGE_URL}" | jq --raw-output '.download_url') +# wget -c ${LICENSE_URL} + +VERSION=$( date +%Y-%m-%d_ )git +VERSION=1.0 +RELEASE=git + +# make a new temporary directory for this use +BASE_TMP_DIR=~/tmptmp/checkinstall_tmp +mkdir -p ${BASE_TMP_DIR} + +# do your work +checkinstall -y --fstrans \ + --pkgname=fmui \ + --pkgversion=${VERSION}\ + --pkgrelease=${RELEASE} \ + --pkgarch=amd64 \ + --pkggroup=admin \ + --pkglicense=LICENSE \ + --pkgsource=${LATEST_URL} \ + --maintainer=cyteen@ring-zero.co.uk \ + --requires=toilet,fzf,mpc,vis,ffmpeg \ + -D \ + bash ./install.sh +EOF + +cat > ./install.sh << 'EOF' +BASE_URL='https://api.github.com/repos' +BASE_USER='seebye' +BASE_REPO='fmui' +# RELEASES_URL="${BASE_URL}/${BASE_USER}/${BASE_REPO}"/releases +# CONTENT=$(curl -s ${RELEASES_URL}/latest) +# LATEST_URL=$(echo "${CONTENT}" | jq --raw-output '.assets[] | select(.browser_download_url | test("Linux-x86_64")) | .browser_download_url') +LATEST_URL=https://github.com/seebye/fmui + +# Download and copy the latest version to /usr/local/bin and make executable +git clone ${LATEST_URL} /var/tmp/fmui +cp -a /var/tmp/fmui /usr/local/ +chmod 0775 /usr/local/fmui +chmod +x /usr/local/fmui/fmui && +chmod +x /usr/local/fmui/actions.sh +chmod +x /usr/local/fmui/cover.sh +chmod +x /usr/local/fmui/defaults.sh +chmod +x /usr/local/fmui/essentials.sh +chmod +x /usr/local/fmui/info.sh +chmod +x /usr/local/fmui/keys.sh +chmod +x /usr/local/fmui/mpc.sh +ln -s /usr/local/fmui/fmui /usr/local/bin/fmui +EOF + +bash ./checkinstall_it.sh + + + +cat > ~/.config/fmui << 'EOF' +# Default keybindings +# Key Action Subscreens +# q Quit fzf +# u Update fzf preview window +# v Start visualizer +# i Show song info screen +# j Go down +# k Go up +# down Go down +# up Go up +# return Play choice +# mod-r Toggle repeat +# mod-s Shuffle +# mod-d Update mpd database, restart +# left Seek backwards +# right Seek forwards +# h Seek backwards ✓ +# l Seek forwards ✓ +# p Toggle play ✓ +# c Toggle consume ✓ +# s Toggle single song ✓ +# r Toggle random ✓ +# < Play previous song ✓ +# > Play next song ✓ + +# readonly VOLUME_STEP=2 +# # format? see man fzf +# readonly ACTION_VOLUME_UP="execute-silent:amixer set Master ${VOLUME_STEP}%+ unmute" +# readonly ACTION_VOLUME_DOWN="execute-silent:amixer set Master ${VOLUME_STEP}%- unmute" +# +# key_bindings+=( +# [+]="$ACTION_VOLUME_UP" +# [=]="$ACTION_VOLUME_UP" +# [-]="$ACTION_VOLUME_DOWN" +# ) +EOF diff --git a/020_lsd.sh b/020_lsd.sh index beff516..bb2e9c2 100644 --- a/020_lsd.sh +++ b/020_lsd.sh @@ -35,6 +35,7 @@ apt-get -f install ALIAS_FILE=/home/default/.zsh_aliases.d/003-lsd.sh cat > ${ALIAS_FILE} <<'EOF' if [ -x /usr/bin/lsd ]; then - alias lsd="/usr/bin/ls" + alias lsd="/usr/bin/lsd" + alias ls="lsd --group-dirs first" fi EOF diff --git a/020_surf.sh b/020_surf.sh new file mode 100644 index 0000000..04d9c3a --- /dev/null +++ b/020_surf.sh @@ -0,0 +1,8 @@ +apt-get -y install surf2 + +SOURCE_DIR= +cd $[SOURCE_DIR] +wget -c -P ${SOURCE_DIR} https://surf.suckless.org/patches/bookmarking/surf-bookmarks-20170722-723ff26.diff +patch -p1 < surf-bookmarks-20170722-723ff26.diff + +make install diff --git a/020_vifm.sh b/020_vifm.sh new file mode 100644 index 0000000..f7558cc --- /dev/null +++ b/020_vifm.sh @@ -0,0 +1,28 @@ +mkdir -p ~/.config/vifm/scripts + +# https://gitlab.com/dwt1/dotfiles/tree/master/.config/vifm/scripts + +cat > ~/.zsh_aliases.d/005-vifm.zsh << 'EOF' +alias vifm="~/.config/vifm/scripts/vifmrun" +EOF + +wget -c -P ~/.config/vifm/scripts https://gitlab.com/dwt1/dotfiles/raw/master/.config/vifm/scripts/vifmimg + +wget -c -P ~/.config/vifm/scripts https://gitlab.com/dwt1/dotfiles/raw/master/.config/vifm/scripts/vifmrun + +chmod +x ~/.config/vifm/scripts/vifmimg +chmod +x ~/.config/vifm/scripts/vifmrun + +apt-get install python3-setuptools libjpeg-dev python3-dev + +# libraqm +# libimagequant +# openjpeg +# libwebp +# littlecms +# libfreetype +# libtiff +# zlib +# libjpeg + +pip3 install --user ueberzug diff --git a/020_vim.sh b/020_vim.sh index 1ecebb2..8699497 100644 --- a/020_vim.sh +++ b/020_vim.sh @@ -1,5 +1,5 @@ set +x -#apt-get install vim-gtk vifm +#apt-get install vim-gtk sed -i -e 's/"syntax on/syntax on/' /etc/vim/vimrc sed -i -e 's/"set background=dark/set background=dark/' /etc/vim/vimrc @@ -18,6 +18,9 @@ cat > ~/.vimrc << 'EOF' " enable syntax highlighting syntax enable +" enable mouse +set mouse=a + set encoding=utf-8 " Show file options above the command line @@ -170,7 +173,6 @@ Plugin 'sudar/vim-arduino-syntax' Plugin 'ekalinin/Dockerfile.vim' Plugin ' mattboehm/vim-unstack' Plugin 'tmux-plugins/vim-tmux' - " vim-snipmate Plugin 'MarcWeber/vim-addon-mw-utils' Plugin 'tomtom/tlib_vim' @@ -192,7 +194,9 @@ Plugin 'vim-scripts/taglist.vim' Plugin 'majutsushi/tagbar' Plugin 'scrooloose/nerdtree' Plugin 'jistr/vim-nerdtree-tabs' +Plugin 'severin-lemaignan/vim-minimap' +let NERDTreeQuitOnOpen=1 map :NERDTreeToggle silent! nmap :NERDTreeToggle silent! map :NERDTreeFind diff --git a/020_xmonad.sh b/020_xmonad.sh new file mode 100644 index 0000000..1e230de --- /dev/null +++ b/020_xmonad.sh @@ -0,0 +1,23 @@ +apt-get install -y xmonad xmobar + +wget -c -P ~/.config/xmobar/ https://gitlab.com/dwt1/dotfiles/raw/master/.config/xmobar/xmobarrc0 +wget -c -P ~/.config/xmobar/ https://gitlab.com/dwt1/dotfiles/raw/master/.config/xmobar/xmobarrc1 +wget -c -P ~/.config/xmobar/ https://gitlab.com/dwt1/dotfiles/raw/master/.config/xmobar/xmobarrc2 + +wget -c -P ~/.xmonad/xmonad.hs https://gitlab.com/dwt1/dotfiles/raw/master/.xmonad/xmonad.hs + +cat > /tmp/xmonad-keybindings.txt << 'EOF' +MODKEY + Keypad Insert opens run launcher (dmenu is the run launcher but can be easily changed) +MODKEY + Enter opens terminal (st is the terminal but can be easily changed) +MODKEY + SHIFT + c closes window with focus +MODKEY + SHIFT + q quits xmonad +MODKEY + j windows focus down (switches focus between windows in the stack) +MODKEY + k windows focus up (switches focus between windows in the stack) +MODKEY + SHIFT + j windows swap down (swap windows in the stack) +MODKEY + SHIFT + k windows swap up (swap the windows in the stack) +MODKEY + h shrink window (decreases window width) +MODKEY + l expand window (increases window width) +MODKEY + w switches focus to monitor 1 +MODKEY + e switches focus to monitor 2 +MODKEY + r switches focus to monitor 3 +EOF diff --git a/020_zsh.sh b/020_zsh.sh index 3b63d28..b0fe72a 100644 --- a/020_zsh.sh +++ b/020_zsh.sh @@ -216,6 +216,7 @@ EOF cat > ~/.zshrc.d/001-vi-mode.sh << 'EOF' # Set vi mode bindkey -v + bindkey '^R' history-incremental-search-backward EOF From 3cdd2dfa0cbc1272c653adfdf3e9d67a2367af63 Mon Sep 17 00:00:00 2001 From: Cyteen Date: Fri, 12 Apr 2019 22:22:08 +0100 Subject: [PATCH 50/64] Small changes and new motd. --- 010_apt-get.sh | 1 + 020_git-lfs.sh | 5 +++++ 020_neofetch_motd.sh | 13 +++++++++++++ 3 files changed, 19 insertions(+) create mode 100644 020_neofetch_motd.sh diff --git a/010_apt-get.sh b/010_apt-get.sh index 3f60014..8aa1428 100644 --- a/010_apt-get.sh +++ b/010_apt-get.sh @@ -4,6 +4,7 @@ apt-get -y install tree apt-get -y install tmux apt-get -y install xclip apt-get -y install xsel +apt-get -y install neofetch apt-get -y install sshpass apt-get -y install git apt-get -y install tig diff --git a/020_git-lfs.sh b/020_git-lfs.sh index 7c85703..9be538f 100644 --- a/020_git-lfs.sh +++ b/020_git-lfs.sh @@ -12,10 +12,15 @@ then elif [ "$dist" == 'ascii' ] then DIST='stretch' +elif [ "$dist" == 'beowulf' ] +then + DIST='buster' else [ "$dist" == 'ceres' ] DIST='sid' fi +# FIXME: buster version no yet available +DIST='stretch' OS=debian DEST=/etc/apt/sources.list-available diff --git a/020_neofetch_motd.sh b/020_neofetch_motd.sh new file mode 100644 index 0000000..91431f5 --- /dev/null +++ b/020_neofetch_motd.sh @@ -0,0 +1,13 @@ +#!/bin/bash +apt-get install -y neofetch + +mkdir -p /etc/update-motd.d +cat > /etc/update-motd.d/20neofetch < Date: Sat, 13 Apr 2019 15:41:58 +0100 Subject: [PATCH 51/64] New scripts push before pull. --- 020_etckeeper.sh | 69 ++++++++++++++++++++++++++++++++++++++++++++++++ 020_nanorc.sh | 30 +++++++++++++++++++++ 020_vcsh.sh | 1 + 3 files changed, 100 insertions(+) create mode 100644 020_etckeeper.sh create mode 100644 020_nanorc.sh create mode 100644 020_vcsh.sh diff --git a/020_etckeeper.sh b/020_etckeeper.sh new file mode 100644 index 0000000..9f5510c --- /dev/null +++ b/020_etckeeper.sh @@ -0,0 +1,69 @@ +apt-get install -y etckeeper git openssh-client + +# use the GitLab API to create a project +# https://github.com/gitlabhq/gitlabhq/blob/master/doc/api/projects.md#create-project + +# POST /projects + +# One of the optional parameters is: + +# visibility_level (optional): +# 0 is Private (Project access must be granted explicitly for each user) +# 10 is Internal (The project can be cloned by any logged in user), +# 20 is Public (The project can be cloned without any authentication) + +cat /dev/zero | ssh-keygen -b 2048 -t rsa -q -N "" + +PROJECT_NAME=$(uname -n)_etc # myproject +GITLAB_SERVER="http://example.com" +PROJECT_URL="${GITLAB_SERVER}/api/v3/projects" +KEYS_URL="${GITLAB_SERVER}/api/v3/user/keys" +PRIVATE_TOKEN=QVy1PB7sTxfy4pqfZM1U +PROJECT_VISIBILITY=0 +PROJECT_DESCRIPTION="Tracking for the /etc/folder on $(uname -n)" +MACHINE_PUBKEY=/root/.ssh/id_rsa.pub + +cat > ~/.ssh/config < ./description-pak << EOF +dot nanorc files that have improved definitions of syntax highlighting for various languages in the nano editor. +EOF + + +checkinstall -y --fstrans \ + --pkgname=nanorc \ + --pkgversion=1.0 \ + --pkgrelease=1 \ + --pkgarch=amd64 \ + --pkggroup=admin \ + --pkglicense=LICENSE \ + --pkgsource=${LATEST_URL} \ + --maintainer=cyteen@ring-zero.co.uk \ + --requires=nano,unzip,wget \ + -D \ + git clone ${LATEST_URL} ${DIR_NAME} + cp ${DIR_NAME}/*.nanorc ${install_path} && \ + echo "include ${install_path}/*.nanorc" >> /etc/nanorc + + diff --git a/020_vcsh.sh b/020_vcsh.sh new file mode 100644 index 0000000..26811b0 --- /dev/null +++ b/020_vcsh.sh @@ -0,0 +1 @@ +apt-get install -y vcsh mr From 7a5edfa4649ae98faa739df92392821d6dffde96 Mon Sep 17 00:00:00 2001 From: Cyteen May Date: Sat, 13 Apr 2019 15:43:41 +0100 Subject: [PATCH 52/64] Commit before pull. --- 010_apt-get.sh | 1 + 020_grc.sh | 25 +++++++++++++++++++++++++ 020_lsd.sh | 2 +- 020_mpv.conf | 4 ++-- 020_vifm.sh | 2 +- 020_vim.sh | 2 ++ 6 files changed, 32 insertions(+), 4 deletions(-) diff --git a/010_apt-get.sh b/010_apt-get.sh index 3f60014..8726730 100644 --- a/010_apt-get.sh +++ b/010_apt-get.sh @@ -56,4 +56,5 @@ apt-get -y install terminology apt-get -y install geeqie apt-get -y install vbindiff apt-get -y install xwhexedit +apt-get -y install lshw diff --git a/020_grc.sh b/020_grc.sh index 353a769..496f3da 100644 --- a/020_grc.sh +++ b/020_grc.sh @@ -4,6 +4,7 @@ cat > ${ALIAS_FILE} <<'EOF' # coloured output using grc if [ -e /usr/bin/grc ]; then alias cl="/usr/bin/grc -es --colour=auto" + alias cat="cl cat" alias ping="cl ping" alias netstat="cl netstat" alias traceroute="cl traceroute" @@ -11,6 +12,8 @@ if [ -e /usr/bin/grc ]; then alias tail="cl tail" alias ps="cl ps" alias lsof="cl lsof" + alias lsmod="cl lsmod" + alias lsattr="cl lsattr" alias gcc="cl gcc" alias make="cl make" alias configure="cl configure" @@ -19,6 +22,28 @@ if [ -e /usr/bin/grc ]; then alias ifconfig="cl /sbin/ifconfig" alias mount="cl mount" alias mtr="cl mtr --curses" + alias nmap="cl nmap" + alias ntpdate="cl ntpdate" alias df="cl df -hT | column -t" + alias getfcl="cl getfcl" + alias tail="cl tail" + alias ip="cl ip" + alias id="cl id" + alias fdisk="cl fdisk" + alias free="cl free" + alias findmnt="cl findmnt" + alias docker="cl docker" + alias env="cl env" + alias iptables="cl iptables" + alias iwconfig="cl iwconfig" + alias lspci="cl lspci" + alias lsblk="cl lsblc" + alias blkid="cl blkid" + alias showmount="cl showmount" + alias tcpdump="cl tcpdump" + alias tune2fs="cl tune2fs" + alias vmstat="cl vmstat" + alias uptime="cl uptime" + alias whois="cl whois" fi EOF diff --git a/020_lsd.sh b/020_lsd.sh index bb2e9c2..89275a7 100644 --- a/020_lsd.sh +++ b/020_lsd.sh @@ -36,6 +36,6 @@ ALIAS_FILE=/home/default/.zsh_aliases.d/003-lsd.sh cat > ${ALIAS_FILE} <<'EOF' if [ -x /usr/bin/lsd ]; then alias lsd="/usr/bin/lsd" - alias ls="lsd --group-dirs first" + alias ls="lsd" fi EOF diff --git a/020_mpv.conf b/020_mpv.conf index 9737fb4..df56b9f 100644 --- a/020_mpv.conf +++ b/020_mpv.conf @@ -4,7 +4,7 @@ mkdir -p ~/.config/mpv ## https://www.dotslashlinux.com/2017/03/31/optimal-mpv-configuration/ ## Low cpu -#cat > ~/.config/mpv/mpv.conf<< 'EOF' +cat > ~/.config/mpv/mpv.conf<< 'EOF' #profile=opengl-hq #scale=ewa_lanczossharp #cscale=ewa_lanczossoft @@ -17,7 +17,7 @@ mkdir -p ~/.config/mpv #deband=no #volume-max=100 #hwdec=vaapi -#EOF +EOF # ## Quality over performance #cat > ~/.config/mpv/mpv.conf << 'EOF' diff --git a/020_vifm.sh b/020_vifm.sh index f7558cc..430512a 100644 --- a/020_vifm.sh +++ b/020_vifm.sh @@ -25,4 +25,4 @@ apt-get install python3-setuptools libjpeg-dev python3-dev # zlib # libjpeg -pip3 install --user ueberzug +pip3 install ueberzug diff --git a/020_vim.sh b/020_vim.sh index 8699497..1c8d0d9 100644 --- a/020_vim.sh +++ b/020_vim.sh @@ -196,6 +196,8 @@ Plugin 'scrooloose/nerdtree' Plugin 'jistr/vim-nerdtree-tabs' Plugin 'severin-lemaignan/vim-minimap' +let g:minimap_highlight='Visual' + let NERDTreeQuitOnOpen=1 map :NERDTreeToggle silent! nmap :NERDTreeToggle From c6632e55c46479ff76767ccb91ffef16d0154d4d Mon Sep 17 00:00:00 2001 From: Cyteen May Date: Sat, 13 Apr 2019 17:16:50 +0100 Subject: [PATCH 53/64] Add an example url for the git add remote. --- 020_etckeeper.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/020_etckeeper.sh b/020_etckeeper.sh index 9f5510c..d6d7fd9 100644 --- a/020_etckeeper.sh +++ b/020_etckeeper.sh @@ -65,5 +65,6 @@ sed -i "s,^\(GIT_COMMIT_OPTIONS=\).*,\1\"origin\"," /etc/etckeeper/etckeeper.con cd /etc/ && etckeeper init # Add gitlab remote +# git remote add origin git@gitlab.com:almostengr/blueprint-etc.git git remote add origin ${PROJECT_URL}/${PROJECT_NAME}.git From b3b9b879544a14f502a9d0f1a83fd4b1e51f969a Mon Sep 17 00:00:00 2001 From: default Date: Wed, 29 May 2019 15:41:45 +0100 Subject: [PATCH 54/64] Update to build properly. --- 020_docker-compose.sh | 143 ++++++++++++++++++++++-------------------- 1 file changed, 75 insertions(+), 68 deletions(-) diff --git a/020_docker-compose.sh b/020_docker-compose.sh index 0b24427..1fa1310 100644 --- a/020_docker-compose.sh +++ b/020_docker-compose.sh @@ -1,71 +1,78 @@ #!/usr/bin/env bash -apt-get install docker-compose +#apt-get install docker-compose #dpkg -i /var/tmp/docker-compose/docker-compose_1.11.0-1_amd64.deb -# PROJECT=docker/compose -# PRERELEASE=false -# RELEASE=$(curl "https://api.github.com/repos/${PROJECT}/releases?per_page=5" | jq -r '.[0] | select( .prerelease = false ) |.tag_name') -# VERSION=$(echo "${RELEASE}" | cut -c 2- | cut -f1 -d"-") -# DOWNLOAD_DIR=/tmp -# -# # make a containing directory -# mkdir -p /var/tmp/docker-compose-"${RELEASE}" -# cd /var/tmp/docker-compose-"${RELEASE}" || exit -# -# cat > ./description-pak << EOF -# Compose is a tool for defining and running multi-container Docker applications. With Compose, you use a Compose file to configure your application’s services. Then, using a single command, you create and start all the services from your configuration. -# EOF -# -# cat > ./checkinstall_it.sh << 'EOF' -# -# echo "ENTERING CHECKINSTALL" -# -# BASE_URL='https://api.github.com/repos' -# BASE_USER='docker' -# BASE_REPO='compose' -# LICENSE_PAGE_URL="${BASE_URL}/${BASE_USER}/${BASE_REPO}"/license -# RELEASES_URL="${BASE_URL}/${BASE_USER}/${BASE_REPO}"/releases -# CONTENT=$(curl -s ${RELEASES_URL}/latest) -# LATEST_URL=$(echo "${CONTENT}" | jq --raw-output '.assets[] | select(.browser_download_url | test("Linux-x86_64")) | .browser_download_url') -# -# echo "LATEST_URL: " "${LATEST_URL}" -# -# RELEASE=$(echo "${CONTENT}" | jq --raw-output '.tag_name') -# -# LICENSE_URL=$(curl "${LICENSE_PAGE_URL}" | jq --raw-output '.download_url') -# wget -c ${LICENSE_URL} -# -# # make a new temporary directory for this use -# BASE_TMP_DIR=~/tmptmp/checkinstall_tmp -# mkdir -p ${BASE_TMP_DIR} -# -# # do your work -# checkinstall -y --fstrans \ -# --pkgname=docker-compose \ -# --pkgversion=${RELEASE} \ -# --pkgrelease=1 \ -# --pkgarch=amd64 \ -# --pkggroup=admin \ -# --pkglicense=LICENSE \ -# --pkgsource=${LATEST_URL} \ -# --maintainer=cyteen@ring-zero.co.uk \ -# --requires=docker-engine \ -# -D \ -# bash ./install.sh -# EOF -# -# cat > ./install.sh << 'EOF' -# BASE_URL='https://api.github.com/repos' -# BASE_USER='docker' -# BASE_REPO='compose' -# RELEASES_URL="${BASE_URL}/${BASE_USER}/${BASE_REPO}"/releases -# CONTENT=$(curl -s ${RELEASES_URL}/latest) -# LATEST_URL=$(echo "${CONTENT}" | jq --raw-output '.assets[] | select(.browser_download_url | test("Linux-x86_64")) | .browser_download_url') -# -# # Download and copy the latest version to /usr/local/bin and make executable -# curl -s -o /usr/local/bin/docker-compose -L ${LATEST_URL} && chmod +x /usr/local/bin/docker-compose -# EOF -# -# bash ./checkinstall_it.sh -# -# docker-compose --version +BASE_URL='https://api.github.com/repos' +BASE_USER='docker' +BASE_REPO='compose' +LICENSE_PAGE_URL="${BASE_URL}/${BASE_USER}/${BASE_REPO}"/license +RELEASES_URL="${BASE_URL}/${BASE_USER}/${BASE_REPO}"/releases +CONTENT=$(curl -s ${RELEASES_URL}/latest) +LATEST_URL=$(echo "${CONTENT}" | jq --raw-output '.assets[] | select(.browser_download_url | test("Linux-x86_64")) | .browser_download_url') + +echo "LATEST_URL: " "${LATEST_URL}" + +RELEASE=$(echo "${CONTENT}" | jq --raw-output '.tag_name') + +DOWNLOAD_DIR=/tmp + +# make a containing directory +mkdir -p /var/tmp/docker-compose-"${RELEASE}" +cd /var/tmp/docker-compose-"${RELEASE}" || exit + +cat > ./description-pak << EOF +Compose is a tool for defining and running multi-container Docker applications. With Compose, you use a Compose file to configure your application’s services. Then, using a single command, you create and start all the services from your configuration. +EOF + +cat > ./checkinstall_it.sh << 'EOF' + +echo "ENTERING CHECKINSTALL" + +BASE_URL='https://api.github.com/repos' +BASE_USER='docker' +BASE_REPO='compose' +LICENSE_PAGE_URL="${BASE_URL}/${BASE_USER}/${BASE_REPO}"/license +RELEASES_URL="${BASE_URL}/${BASE_USER}/${BASE_REPO}"/releases +CONTENT=$(curl -s ${RELEASES_URL}/latest) +LATEST_URL=$(echo "${CONTENT}" | jq --raw-output '.assets[] | select(.browser_download_url | test("Linux-x86_64")) | .browser_download_url') + +echo "LATEST_URL: " "${LATEST_URL}" + +RELEASE=$(echo "${CONTENT}" | jq --raw-output '.tag_name') + +LICENSE_URL=$(curl "${LICENSE_PAGE_URL}" | jq --raw-output '.download_url') +wget -c ${LICENSE_URL} + +# make a new temporary directory for this use +BASE_TMP_DIR=~/tmptmp/checkinstall_tmp +mkdir -p ${BASE_TMP_DIR} + +# do your work +checkinstall -y --fstrans \ + --pkgname=docker-compose \ + --pkgversion=${RELEASE} \ + --pkgrelease=1 \ + --pkgarch=amd64 \ + --pkggroup=admin \ + --pkglicense=LICENSE \ + --maintainer=cyteen@ring-zero.co.uk \ + --requires=docker-ce \ + -D \ + bash ./install.sh +EOF + +cat > ./install.sh << 'EOF' +BASE_URL='https://api.github.com/repos' +BASE_USER='docker' +BASE_REPO='compose' +RELEASES_URL="${BASE_URL}/${BASE_USER}/${BASE_REPO}"/releases +CONTENT=$(curl -s ${RELEASES_URL}/latest) +LATEST_URL=$(echo "${CONTENT}" | jq --raw-output '.assets[] | select(.browser_download_url | test("Linux-x86_64")) | .browser_download_url') + +# Download and copy the latest version to /usr/local/bin and make executable +curl -s -o /usr/local/bin/docker-compose -L ${LATEST_URL} && chmod +x /usr/local/bin/docker-compose +EOF + +bash ./checkinstall_it.sh + +docker-compose --version From dbd899a111f1e36706808e63da0ea2e7625c36b5 Mon Sep 17 00:00:00 2001 From: Cyteen May Date: Thu, 13 Jun 2019 11:39:33 +0100 Subject: [PATCH 55/64] Collected small changes. --- 020_docker-compose.sh | 1 + 020_grc.sh | 2 +- 020_pycharm-install.sh | 6 +++- 020_vcsh.sh | 64 ++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 71 insertions(+), 2 deletions(-) diff --git a/020_docker-compose.sh b/020_docker-compose.sh index 0b24427..4992f42 100644 --- a/020_docker-compose.sh +++ b/020_docker-compose.sh @@ -2,6 +2,7 @@ apt-get install docker-compose #dpkg -i /var/tmp/docker-compose/docker-compose_1.11.0-1_amd64.deb +# apt-get install jq checkinstall # PROJECT=docker/compose # PRERELEASE=false # RELEASE=$(curl "https://api.github.com/repos/${PROJECT}/releases?per_page=5" | jq -r '.[0] | select( .prerelease = false ) |.tag_name') diff --git a/020_grc.sh b/020_grc.sh index 496f3da..13b71ea 100644 --- a/020_grc.sh +++ b/020_grc.sh @@ -24,7 +24,7 @@ if [ -e /usr/bin/grc ]; then alias mtr="cl mtr --curses" alias nmap="cl nmap" alias ntpdate="cl ntpdate" - alias df="cl df -hT | column -t" + alias df="cl df -hT" alias getfcl="cl getfcl" alias tail="cl tail" alias ip="cl ip" diff --git a/020_pycharm-install.sh b/020_pycharm-install.sh index dd7a28b..aed7419 100644 --- a/020_pycharm-install.sh +++ b/020_pycharm-install.sh @@ -1,5 +1,9 @@ ## pycharm python ide -PYCHARM_VERSION=2018.1.4 + +# https://en.wikipedia.org/wiki/PyCharm +# https://www.jetbrains.com/pycharm/download/#section=linux +# https://www.jetbrains.com/pycharm/download/download-thanks.html?platform=linux&code=PCC +PYCHARM_VERSION=2019.1.1 cd /var/tmp && wget -c https://download.jetbrains.com/python/pycharm-community-${PYCHARM_VERSION}.tar.gz && tar xzvf /var/tmp/pycharm-community-${PYCHARM_VERSION}.tar.gz diff --git a/020_vcsh.sh b/020_vcsh.sh index 26811b0..800066e 100644 --- a/020_vcsh.sh +++ b/020_vcsh.sh @@ -1 +1,65 @@ +## vcsh +# When you clone a remote repository foo, vcsh does the following behind the scene: +# 1. create a folder in .config/vcsh/repo.d/foo.git, and export it as GIT_DIR. +# 2. create $VCSH_BASE directory, i.e your home directory by default; and +# export it as GIT_WORK_TREE +# Thus the work tree and git meta data, aka .git folder, are separated. +# We can use git fetch to pull the remote repository into the GIT_DIR, and +# merge the changes back to the GIT_WORK_TREE. + + +# To see the current remote repository. +# "vcsh mr remote show origin" +# "vcsh mr remote remove origin" +# "vcsh mr remote add origin https://github.com/crazzyfool/mr.git" +# "vcsh mr push --set-upstream origin master" + +# These can be aliased in the config file. See below + +## mr +# To get started using mr, perhaps you already have some checked out repositories. Go into each one and run + + +# "mr register". + +# Now mr has a list of them in ~/.mrconfig, which you can edit later to tune its operation. + +# Suppose you've cd'd to ~/src, and it has many repositories under it. To update them all, run + +# "mr update". +# "mr commit". commit any pending changes +# "mr status". check the status of each, +# "mr push". push changes to all repositories. + apt-get install -y vcsh mr + +mkdir -p ~/.config/mr/available.d +mkdir -p ~/.config/mr/config.d + +GIT_WORK_TREE=${HOME} + +# Change this to your dotfiles repository +GIT_REPO=git://github.com/RichiH/ + +cat > ~/.config/mr/available.d/mr.vcsh < ~/.config/mr/available.d/zsh.vcsh < ~/.mrconfig < Date: Thu, 13 Jun 2019 12:05:15 +0100 Subject: [PATCH 56/64] Messy merge. --- 020_docker-compose.sh | 71 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 020_docker-compose.sh diff --git a/020_docker-compose.sh b/020_docker-compose.sh new file mode 100644 index 0000000..0b24427 --- /dev/null +++ b/020_docker-compose.sh @@ -0,0 +1,71 @@ +#!/usr/bin/env bash +apt-get install docker-compose +#dpkg -i /var/tmp/docker-compose/docker-compose_1.11.0-1_amd64.deb + +# PROJECT=docker/compose +# PRERELEASE=false +# RELEASE=$(curl "https://api.github.com/repos/${PROJECT}/releases?per_page=5" | jq -r '.[0] | select( .prerelease = false ) |.tag_name') +# VERSION=$(echo "${RELEASE}" | cut -c 2- | cut -f1 -d"-") +# DOWNLOAD_DIR=/tmp +# +# # make a containing directory +# mkdir -p /var/tmp/docker-compose-"${RELEASE}" +# cd /var/tmp/docker-compose-"${RELEASE}" || exit +# +# cat > ./description-pak << EOF +# Compose is a tool for defining and running multi-container Docker applications. With Compose, you use a Compose file to configure your application’s services. Then, using a single command, you create and start all the services from your configuration. +# EOF +# +# cat > ./checkinstall_it.sh << 'EOF' +# +# echo "ENTERING CHECKINSTALL" +# +# BASE_URL='https://api.github.com/repos' +# BASE_USER='docker' +# BASE_REPO='compose' +# LICENSE_PAGE_URL="${BASE_URL}/${BASE_USER}/${BASE_REPO}"/license +# RELEASES_URL="${BASE_URL}/${BASE_USER}/${BASE_REPO}"/releases +# CONTENT=$(curl -s ${RELEASES_URL}/latest) +# LATEST_URL=$(echo "${CONTENT}" | jq --raw-output '.assets[] | select(.browser_download_url | test("Linux-x86_64")) | .browser_download_url') +# +# echo "LATEST_URL: " "${LATEST_URL}" +# +# RELEASE=$(echo "${CONTENT}" | jq --raw-output '.tag_name') +# +# LICENSE_URL=$(curl "${LICENSE_PAGE_URL}" | jq --raw-output '.download_url') +# wget -c ${LICENSE_URL} +# +# # make a new temporary directory for this use +# BASE_TMP_DIR=~/tmptmp/checkinstall_tmp +# mkdir -p ${BASE_TMP_DIR} +# +# # do your work +# checkinstall -y --fstrans \ +# --pkgname=docker-compose \ +# --pkgversion=${RELEASE} \ +# --pkgrelease=1 \ +# --pkgarch=amd64 \ +# --pkggroup=admin \ +# --pkglicense=LICENSE \ +# --pkgsource=${LATEST_URL} \ +# --maintainer=cyteen@ring-zero.co.uk \ +# --requires=docker-engine \ +# -D \ +# bash ./install.sh +# EOF +# +# cat > ./install.sh << 'EOF' +# BASE_URL='https://api.github.com/repos' +# BASE_USER='docker' +# BASE_REPO='compose' +# RELEASES_URL="${BASE_URL}/${BASE_USER}/${BASE_REPO}"/releases +# CONTENT=$(curl -s ${RELEASES_URL}/latest) +# LATEST_URL=$(echo "${CONTENT}" | jq --raw-output '.assets[] | select(.browser_download_url | test("Linux-x86_64")) | .browser_download_url') +# +# # Download and copy the latest version to /usr/local/bin and make executable +# curl -s -o /usr/local/bin/docker-compose -L ${LATEST_URL} && chmod +x /usr/local/bin/docker-compose +# EOF +# +# bash ./checkinstall_it.sh +# +# docker-compose --version From 2a87c009d9bc921a81a9a83bf5d908b0426b46c7 Mon Sep 17 00:00:00 2001 From: Cyteen Date: Thu, 13 Jun 2019 12:08:03 +0100 Subject: [PATCH 57/64] Update to docker install script. --- 020_docker.sh | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/020_docker.sh b/020_docker.sh index 80fe7cd..21380d6 100644 --- a/020_docker.sh +++ b/020_docker.sh @@ -13,6 +13,13 @@ bash -c "curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key apt-get update apt-get -y install -q --no-install-recommends curl ca-certificates apt-get -y install --force-yes jq +apt-get remove docker docker-engine docker.io containerd runc +apt-get install -y \ + apt-transport-https \ + ca-certificates \ + curl \ + gnupg2 \ + software-properties-common apt-get install -y docker-ce docker-ce-cli containerd.io #apt-get install -y --force-yes docker-engine=1.9.1-0~jessie From 1655bcbee754f188c172333e7d9c706f3405318d Mon Sep 17 00:00:00 2001 From: Cyteen Date: Thu, 13 Jun 2019 12:12:24 +0100 Subject: [PATCH 58/64] Brave browser install scripts. --- 020_brave_browser-beta.sh | 10 ++++++++++ 020_brave_browser-dev.sh | 12 ++++++++++++ 020_brave_browser-nightly.sh | 12 ++++++++++++ 020_brave_browser.sh | 11 +++++++++++ 4 files changed, 45 insertions(+) create mode 100644 020_brave_browser-beta.sh create mode 100644 020_brave_browser-dev.sh create mode 100644 020_brave_browser-nightly.sh create mode 100644 020_brave_browser.sh diff --git a/020_brave_browser-beta.sh b/020_brave_browser-beta.sh new file mode 100644 index 0000000..c140d31 --- /dev/null +++ b/020_brave_browser-beta.sh @@ -0,0 +1,10 @@ +curl -s https://brave-browser-apt-beta.s3.brave.com/brave-core-nightly.asc | sudo apt-key --keyring /etc/apt/trusted.gpg.d/brave-browser-beta.gpg add - + +#source /etc/os-release +UBUNTU_CODENAME=bionic + +echo "deb [arch=amd64] https://brave-browser-apt-beta.s3.brave.com/ $UBUNTU_CODENAME main" | sudo tee /etc/apt/sources.list.d/brave-browser-beta-${UBUNTU_CODENAME}.list + +sudo apt update + +sudo apt install brave-browser-beta diff --git a/020_brave_browser-dev.sh b/020_brave_browser-dev.sh new file mode 100644 index 0000000..61ae84a --- /dev/null +++ b/020_brave_browser-dev.sh @@ -0,0 +1,12 @@ +curl -s https://brave-browser-apt-dev.s3.brave.com/brave-core-nightly.asc | sudo apt-key --keyring /etc/apt/trusted.gpg.d/brave-browser-dev.gpg add - + +#source /etc/os-release +UBUNTU_CODENAME=bionic + +echo "deb [arch=amd64] https://brave-browser-apt-dev.s3.brave.com/ $UBUNTU_CODENAME main" | sudo tee /etc/apt/sources.list-available/brave-browser-dev-${UBUNTU_CODENAME}.list + +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 + +sudo apt update + +sudo apt install brave-browser-dev diff --git a/020_brave_browser-nightly.sh b/020_brave_browser-nightly.sh new file mode 100644 index 0000000..4c8af42 --- /dev/null +++ b/020_brave_browser-nightly.sh @@ -0,0 +1,12 @@ +curl -s https://brave-browser-apt-nightly.s3.brave.com/brave-core-nightly.asc | sudo apt-key --keyring /etc/apt/trusted.gpg.d/brave-browser-nightly.gpg add - + +#source /etc/os-release +UBUNTU_CODENAME=bionic + +echo "deb [arch=amd64] https://brave-browser-apt-nightly.s3.brave.com/ $UBUNTU_CODENAME main" | sudo tee /etc/apt/sources.list-available/brave-browser-nightly-${UBUNTU_CODENAME}.list + +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 + +sudo apt update + +sudo apt install brave-browser-nightly diff --git a/020_brave_browser.sh b/020_brave_browser.sh new file mode 100644 index 0000000..259ad43 --- /dev/null +++ b/020_brave_browser.sh @@ -0,0 +1,11 @@ +RELEASE=bionic +echo ${RELEASE} +curl -s https://brave-browser-apt-release.s3.brave.com/brave-core.asc | sudo apt-key --keyring /etc/apt/trusted.gpg.d/brave-browser-release.gpg add - + +sudo sh -c 'echo "deb [arch=amd64] https://brave-browser-apt-release.s3.brave.com ${RELEASE} main" >> /etc/apt/sources.list-available/brave.list' + +sudo ln -s /etc/apt/sources.list.d/brave.list /etc/apt/sources.list.d/brave.list + +sudo apt update + +sudo apt install brave-browser brave-keyring From 1bc260c5a5e6b81264bb5fd587278bddfff20d90 Mon Sep 17 00:00:00 2001 From: Cyteen May Date: Fri, 5 Jul 2019 10:12:29 +0100 Subject: [PATCH 59/64] Commit before push. --- 020_refracta-tools.sh | 42 ++++++++++++++++++++++-------------------- 101_livecd-add-zfs.sh | 38 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 60 insertions(+), 20 deletions(-) create mode 100644 101_livecd-add-zfs.sh diff --git a/020_refracta-tools.sh b/020_refracta-tools.sh index 474552a..241a65e 100644 --- a/020_refracta-tools.sh +++ b/020_refracta-tools.sh @@ -2,33 +2,35 @@ set +x # get and install refracta stuff # For jessie yad needs to be built from testing/ascii (and gtk3 dep changed in control) #apt-get -y install autotools-dev libgtk2.0-dev pkg-config intltool -apt-get install -y sbuild fakeroot schroot +#apt-get install -y sbuild fakeroot schroot -cd /usr/src || exit -RELEASE=$(awk -F '/' \{'print $1'\} < /etc/devuan_version | awk '$1=$1') -YAD_VERSION=$(apt-cache policy yad|sed -n 3p | awk -F ':' \{'print $2'\} | awk '$1=$1') -gbp import-dsc -v --allow-unauthenticated http://cdn-fastly.deb.debian.org/debian/pool/main/y/yad/yad_"${YAD_VERSION}".dsc - -sed -i -e s/libgtk-3-dev/libgtk2.0-dev/g /usr/src/yad-"${YAD_VERSION}"/debian/control -sed -i -e s/gtk3/gtk2/g /usr/src/yad-"${YAD_VERSION}"/debian/rules -cd /usr/src/yad || exit -#dpkg-buildpackage -us -uc -b -gbp buildpackage --git-builder=sbuild -A -v -d "${RELEASE}" -dpkg -i ../yad_"${YAD_VERSION}"_amd64.deb - -sudo schroot --end-session --all-sessions +#cd /usr/src || exit +#RELEASE=$(awk -F '/' \{'print $1'\} < /etc/devuan_version | awk '$1=$1') +#YAD_VERSION=$(apt-cache policy yad|sed -n 3p | awk -F ':' \{'print $2'\} | awk '$1=$1') +#gbp import-dsc -v --allow-unauthenticated http://cdn-fastly.deb.debian.org/debian/pool/main/y/yad/yad_"${YAD_VERSION}".dsc +# +#sed -i -e s/libgtk-3-dev/libgtk2.0-dev/g /usr/src/yad-"${YAD_VERSION}"/debian/control +#sed -i -e s/gtk3/gtk2/g /usr/src/yad-"${YAD_VERSION}"/debian/rules +#cd /usr/src/yad || exit +##dpkg-buildpackage -us -uc -b +#gbp buildpackage --git-builder=sbuild -A -v -d "${RELEASE}" +#dpkg -i ../yad_"${YAD_VERSION}"_amd64.deb +# +#sudo schroot --end-session --all-sessions # Refractasnapshot 10 introduces support of UEFI bootable iso but grub-efi removes grub-pc #apt-get install -y grub-efi-amd64 apt-get install -y hwinfo -REFRACTAINSTALLERBASE_VERSION=9.3.0 -REFRACTAINSTALLER_GUI_VERSION=9.2.2 -REFRACTASNAPSHOTBASE_VERSION=10.0.2 -REFRACTASNAPSHOT_GUI_VERSION=10.0.2 -REFRACTA2USB_VERSION=2.3.6 +cd /var/tmp +REFRACTAINSTALLERBASE_VERSION=9.5.3 +REFRACTAINSTALLER_GUI_VERSION=9.5.3 +REFRACTASNAPSHOTBASE_VERSION=10.2.3~fsr +REFRACTASNAPSHOT_GUI_VERSION=10.2.3~fsr +REFRACTA2USB_VERSION=2.4.2 #SOURCEFORGE_MIRROR=http://downloads.sourceforge.net/project/refracta -SOURCEFORGE_MIRROR=http://sourceforge.mirrorservice.org/r/re/refracta +#SOURCEFORGE_MIRROR=http://sourceforge.mirrorservice.org/r/re/refracta +SOURCEFORGE_MIRROR=https://sourceforge.net/projects/refracta/files/ REFRACTA_LOCATION=tools #REFRACTA_LOCATION=testing URL_LIST=( \ diff --git a/101_livecd-add-zfs.sh b/101_livecd-add-zfs.sh new file mode 100644 index 0000000..21093e4 --- /dev/null +++ b/101_livecd-add-zfs.sh @@ -0,0 +1,38 @@ +# add automate scripts +git clone http://git.devuan.org/cyteen/automate + +cd automate + +# Add contrib to sources.list +bash 001_apt-sources.sh + +# Add zfs +bash 010_zfs.sh + +# Mount the hdd +ZFS_HOME=/mnt +zpool import -a -R ${ZFS_HOME} + +mkdir -p ${ZFS_HOME}/dev +mount -o bind /dev ${ZFS_HOME}/dev +mkdir -p ${ZFS_HOME}/dev/pts +mount -o bind /dev/pts ${ZFS_HOME}/dev/pts +mkdir -p ${ZFS_HOME}/sys +mount -o bind /sys ${ZFS_HOME}/sys +mkdir -p ${ZFS_HOME}/proc +mount -t proc /proc ${ZFS_HOME}/proc +mkdir -p ${ZFS_HOME}/run +mount -o bind /run ${ZFS_HOME}/run + +# Rebuild drivers +chroot ${ZFS_HOME} dpkg-reconfigure spl-dkms +chroot ${ZFS_HOME} dpkg-reconfigure zfs-dkms + +# Update initramfs +# Error: live system without live media mounted as /lib/live/mount/medium +chroot ${ZFS_HOME} bash -c 'apt-get remove -y live-tools' +chroot ${ZFS_HOME} bash -c 'apt-get install -y initramfs-tools' +chroot ${ZFS_HOME} bash -c 'update-initramfs -v -u -t -k all' + +# Update grub menu +chroot ${ZFS_HOME} update-grub From d4a3b8eaa5b48e0c37e8d051ba7fab9a55f1335f Mon Sep 17 00:00:00 2001 From: Cyteen May Date: Fri, 5 Jul 2019 10:14:33 +0100 Subject: [PATCH 60/64] Commit before push. --- 101_livecd-add-zfs.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/101_livecd-add-zfs.sh b/101_livecd-add-zfs.sh index 21093e4..d3d6e98 100644 --- a/101_livecd-add-zfs.sh +++ b/101_livecd-add-zfs.sh @@ -1,5 +1,5 @@ # add automate scripts -git clone http://git.devuan.org/cyteen/automate +#git clone http://git.devuan.org/cyteen/automate cd automate From ef5637fe5fe2c684dc193669322f3d4579f9b678 Mon Sep 17 00:00:00 2001 From: Cyteen May Date: Fri, 5 Jul 2019 11:10:13 +0100 Subject: [PATCH 61/64] Commit before push. --- 101_livecd-add-zfs.sh | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/101_livecd-add-zfs.sh b/101_livecd-add-zfs.sh index d3d6e98..462e075 100644 --- a/101_livecd-add-zfs.sh +++ b/101_livecd-add-zfs.sh @@ -35,4 +35,14 @@ chroot ${ZFS_HOME} bash -c 'apt-get install -y initramfs-tools' chroot ${ZFS_HOME} bash -c 'update-initramfs -v -u -t -k all' # Update grub menu +chroot ${ZFS_HOME} grub-mkdevicemap +chroot ${ZFS_HOME} grub-probe / chroot ${ZFS_HOME} update-grub + + +umount ${ZFS_HOME}/dev +umount ${ZFS_HOME}/dev/pts +umount ${ZFS_HOME}/sys +umount ${ZFS_HOME}/proc +umount ${ZFS_HOME}/run +umount ${ZFS_HOME} From 825168fa700c445c951d0821e57ba3391445d857 Mon Sep 17 00:00:00 2001 From: Cyteen May Date: Fri, 5 Jul 2019 11:56:58 +0100 Subject: [PATCH 62/64] Commit before push --- 101_livecd-add-zfs.sh | 36 ++++++++++++++++++++++++++++-------- 1 file changed, 28 insertions(+), 8 deletions(-) diff --git a/101_livecd-add-zfs.sh b/101_livecd-add-zfs.sh index 462e075..944c45e 100644 --- a/101_livecd-add-zfs.sh +++ b/101_livecd-add-zfs.sh @@ -24,10 +24,29 @@ mount -t proc /proc ${ZFS_HOME}/proc mkdir -p ${ZFS_HOME}/run mount -o bind /run ${ZFS_HOME}/run -# Rebuild drivers -chroot ${ZFS_HOME} dpkg-reconfigure spl-dkms +chroot ${ZFS_HOME} bash -c 'apt-get install -y --reinstall dkms spl-dkms gcc-6 libc6-dev debhelper dh-autoreconf linux-headers-4.9.0-4-all-amd64' + +chroot ${ZFS_HOME} bash -c 'apt-get install -y --reinstall zfs-dkms zfs-initramfs zfsnap zfsutils-linux busybox' + +chroot ${ZFS_HOME} bash -c "cat > /usr/share/initramfs-tools/conf.d/zfs" << 'EOF' +for x in $(cat /proc/cmdline) +do + case $x in + root=ZFS=*) + BOOT=zfs + ;; + esac +done +EOF + chroot ${ZFS_HOME} dpkg-reconfigure zfs-dkms +chroot ${ZFS_HOME} bash -c 'apt-get -y -f install' + +# Rebuild drivers +#chroot ${ZFS_HOME} dpkg-reconfigure spl-dkms +#chroot ${ZFS_HOME} dpkg-reconfigure zfs-dkms + # Update initramfs # Error: live system without live media mounted as /lib/live/mount/medium chroot ${ZFS_HOME} bash -c 'apt-get remove -y live-tools' @@ -39,10 +58,11 @@ chroot ${ZFS_HOME} grub-mkdevicemap chroot ${ZFS_HOME} grub-probe / chroot ${ZFS_HOME} update-grub +chroot ${ZFS_HOME} lsinitramfs /boot/initrd.img-* -umount ${ZFS_HOME}/dev -umount ${ZFS_HOME}/dev/pts -umount ${ZFS_HOME}/sys -umount ${ZFS_HOME}/proc -umount ${ZFS_HOME}/run -umount ${ZFS_HOME} +umount -lf ${ZFS_HOME}/dev +umount -lf ${ZFS_HOME}/dev/pts +umount -lf ${ZFS_HOME}/sys +umount -lf ${ZFS_HOME}/proc +umount -lf ${ZFS_HOME}/run +umount -lf ${ZFS_HOME} From d3c0132d2f955c09c7ea4c79b2c8c1e375abc6e9 Mon Sep 17 00:00:00 2001 From: Cyteen May Date: Fri, 5 Jul 2019 13:43:37 +0100 Subject: [PATCH 63/64] Commit before push. --- 001_apt-sources.sh | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/001_apt-sources.sh b/001_apt-sources.sh index af06352..011c4ba 100644 --- a/001_apt-sources.sh +++ b/001_apt-sources.sh @@ -59,8 +59,7 @@ bash -c cat > "${AVAILABLE}"/docker.list < Date: Fri, 5 Jul 2019 17:01:28 +0100 Subject: [PATCH 64/64] Commit before push. --- 010_zfs.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/010_zfs.sh b/010_zfs.sh index 5882423..61c1bc5 100644 --- a/010_zfs.sh +++ b/010_zfs.sh @@ -2,7 +2,7 @@ apt-get install -y dkms busybox-static apt-get install -y initramfs-tools dh-autoreconf apt-get install -y spl spl-dkms -apt-get install -y zfs-dkms zfs-initramfs zfsutils-linux +apt-get install -y linux-headers-$(uname -r) zfs-dkms zfs-initramfs zfsutils-linux apt-get install -y zfs-zed # linux default, mount partitions even if non-empty, the no option really only makes sense if the directory being mounted on has been declared as a mount point only and is therefore guaranteed to be empty.