Required because of change from github.com to git.devuan.org.
This commit is contained in:
root 2020-01-13 22:25:18 +00:00
commit 1a8a50b8f4
82 changed files with 2938 additions and 204 deletions

View File

@ -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')
@ -57,8 +59,7 @@ bash -c cat > "${AVAILABLE}"/docker.list <<EOF
deb http://apt.dockerproject.org/repo debian-stretch main
EOF
ln -sf "${AVAILABLE}"/docker.list "${ACTIVE}"/docker.list
bash -c "apt-key adv --keyserver hkp://p80.pool.sks-keyserv:w
ers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D"
bash -c "apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D"
apt-get update && apt-get install -y --force-yes devuan-keyring

88
001_apt-sources.sh.orig Normal file
View File

@ -0,0 +1,88 @@
# avoid duplicates
set -x
rm /etc/apt/sources.list
rm /etc/apt/sources.list.d/devuan.list
ACTIVE=/etc/apt/sources.list.d
AVAILABLE=/etc/apt/sources.list-available
mkdir -p "${AVAILABLE}"
SECTION=(main contrib non-free)
<<<<<<< HEAD
ACTIVE_LIST=('ascii' 'ascii-security' 'ascii-proposed-security' 'ascii-updates' 'ascii-backports' 'ascii-proposed')
#ACTIVE_LIST=('beowulf' 'beowulf-security' 'beowulf-proposed-security' 'beowulf-updates' 'beowulf-backports' 'beowulf-proposed')
INACTIVE_LIST=('jessie' 'jessie-security' 'jessie-proposed' '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')
>>>>>>> 28f9022a8c89ab256d49746af2debedcf1764b46
OTHER_LIST=('experimental')
echo ${#ACTIVE_LIST[@]}
for RELEASE in "${ACTIVE_LIST[@]}"; do
echo "${RELEASE}"
bash -c "cat > ${AVAILABLE}/devuan_${RELEASE}.list" <<EOF
deb http://pkgmaster.devuan.org/merged/ ${RELEASE} ${SECTION[@]}
deb-src http://pkgmaster.devuan.org/merged/ ${RELEASE} ${SECTION[@]}
EOF
ln -sf "${AVAILABLE}"/devuan_"${RELEASE}".list "${ACTIVE}"/devuan_"${RELEASE}".list
done
echo ${#INACTIVE_LIST[@]}
for RELEASE in "${INACTIVE_LIST[@]}"; do
echo "${RELEASE}"
bash -c "cat > ${AVAILABLE}/devuan_${RELEASE}.list" <<EOF
deb http://pkgmaster.devuan.org/merged/ ${RELEASE} ${SECTION[@]}
deb-src http://pkgmaster.devuan.org/merged/ ${RELEASE} ${SECTION[@]}
EOF
done
echo ${#OTHER_LIST[@]}
for RELEASE in "${OTHER_LIST[@]}"; do
echo "${RELEASE}"
bash -c "cat > ${AVAILABLE}/devuan_${RELEASE}.list" <<EOF
deb http://packages.devuan.org/devuan ${RELEASE} main
deb-src http://packages.devuan.org/devuan ${RELEASE} main
EOF
done
bash -c "cat > ${AVAILABLE}/saltstack.list" <<EOF
# wget -q -O- "http://debian.saltstack.com/debian-salt-team-joehealy.gpg.key" | apt-key add -
deb http://debian.saltstack.com/debian stretch-saltstack main
EOF
ln -sf "${AVAILABLE}"/saltstack.list "${ACTIVE}"/saltstack.list
wget -q -O- http://debian.saltstack.com/debian-salt-team-joehealy.gpg.key | apt-key add -
# the docker packages have go over to systemd so these wont install
bash -c cat > "${AVAILABLE}"/docker.list <<EOF
#apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D
# Debian stretch
deb http://apt.dockerproject.org/repo debian-stretch main
EOF
ln -sf "${AVAILABLE}"/docker.list "${ACTIVE}"/docker.list
bash -c "apt-key adv --keyserver hkp://p80.pool.sks-keyserv:w
ers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D"
apt-get update && apt-get install -y --force-yes devuan-keyring
#bash -c "cat > /etc/apt/sources.list.d/x2go.list" <<'EOF'
## apt-key adv --recv-keys --keyserver keys.gnupg.net E1F958385BFE2B6E
## X2Go Repository (release builds)
#deb http://packages.x2go.org/debian jessie main
#
## X2Go Repository (sources of release builds)
#deb-src http://packages.x2go.org/debian jessie main
#
## X2Go Repository (nightly builds)
##deb http://packages.x2go.org/debian jessie heuler
#
## X2Go Repository (sources of nightly builds)
##deb-src http://packages.x2go.org/debian jessie heuler
#
## apt-get install x2goserver x2goserver-xsession
#EOF

View File

@ -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

View File

@ -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

View File

@ -16,6 +16,15 @@ ATTRS{idVendor}=="21a9", ATTRS{idProduct}=="1004", MODE="664", GROUP="plugdev"
LABEL="saleae_logic_rules_end"
EOF
cat > /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

View File

@ -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
@ -16,3 +16,9 @@ apt-get -y install pnmixer
kill -HUP `ps aux | grep -v grep | grep pnmixer | awk {'print $2'}`
sed -i 's,^\(VolumeControlCommand=\).*,\1'xfce4-mixer',' ~/.config/pnmixer/config
pnmixer &
cat > /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

View File

@ -1,8 +1,14 @@
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 xsel
apt-get -y install neofetch
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
@ -12,21 +18,44 @@ 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 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 rox-filer
apt-get -y install tor
apt-get -y install torsocks
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
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 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 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 geeqie
apt-get -y install vbindiff
apt-get -y install xwhexedit
apt-get -y install lshw

4
010_hddtemp.sh Normal file
View File

@ -0,0 +1,4 @@
apt-get install -y hddtemp
# RUN_DAEMON="false"
sed -i 's,^\(RUN_DAEMON=\).*,\1'\"true\"',' /etc/default/hddtemp

217
010_nosh.sh Normal file
View File

@ -0,0 +1,217 @@
## 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
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
## (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
## 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
# 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:
# <!-- This is a setuid helper that is used to launch system services -->
# <servicehelper>/usr/lib/dbus-1.0/dbus-daemon-launch-helper</servicehelper>
## with:
# <!-- This is a non-setuid helper that is used to tell service management to launch system services -->
# <servicehelper>/usr/local/bin/dbus-daemon-launch-helper</servicehelper>
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="<servicehelper>/usr/lib/dbus-1.0/dbus-daemon-launch-helper</servicehelper>"
SERVICE_HELPER_NEW="<servicehelper>/usr/local/bin/dbus-daemon-launch-helper</servicehelper>"
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
## (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
## (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
## VirtualBox Guest Additions
#apt-get install -y nosh-run-virtualbox-guest
## kernel log service
#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
# 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

View File

@ -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

View File

@ -29,19 +29,20 @@
# 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=2018.3.0
SALT_VERSION=latest
REFRESHED_AT=2017-09-31
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 -"
@ -77,18 +78,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,11 +106,20 @@ 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
# 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

View File

@ -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 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.
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

58
010_zram.sh Normal file
View File

@ -0,0 +1,58 @@
#!/bin/sh
# https://www.kernel.org/doc/Documentation/blockdev/zram.txt
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 <antonio.galea@gmail.com>
# 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

View File

@ -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

17
020_blender.sh Normal file
View File

@ -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.

10
020_brave_browser-beta.sh Normal file
View File

@ -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

12
020_brave_browser-dev.sh Normal file
View File

@ -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

View File

@ -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

11
020_brave_browser.sh Normal file
View File

@ -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

View File

@ -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

18
020_devuan_arm-sdk.sh Normal file
View File

@ -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

View File

@ -18,14 +18,14 @@ Hidden=false
EOF
chmod +x ~/.config/autostart/djmount.desktop
bash -c "cat > /usr/share/applications/djmount.desktop" <<EOF
bash -c "cat > /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

View File

@ -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 applications 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 applications 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

View File

@ -1,12 +1,26 @@
# 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 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
#mkdir -p /var/lib/docker

4
020_drupal-compose.sh Normal file
View File

@ -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');"

9
020_drush.phar.sh Normal file
View File

@ -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

7
020_etcher.io.sh Normal file
View File

@ -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

9
020_etcher.sh Normal file
View File

@ -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

70
020_etckeeper.sh Normal file
View File

@ -0,0 +1,70 @@
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 <<EOF
Host
HostName ${GITLAB_SERVER}
IdentityFile ~/.ssh/id_rsa
EOF
curl --header "PRIVATE-TOKEN: ${PRIVATE_TOKEN}" \
-H "Accept: application/json" \
-H "Content-type: application/json" \
-X POST \
--data-urlencode "key=${MACHINE_PUBKEY}" \
--data-urlencode "title=root@$(uname -n)" \
${KEYS_URL}
curl --header "PRIVATE-TOKEN: ${PRIVATE_TOKEN}" \
-H "Accept: application/json" \
-H "Content-type: application/json" \
-X POST \
--data-urlencode "name=${PROJECT_NAME}" \
--data-urlencode "description=${PROJECT_DESCRIPTION}" \
--data-urlencode "visibility_level=${PROJECT_VISIBILITY}" \
${PROJECT_URL}
# etckeeper settings
# VCS="git"
sed -i "s,^\(VCS=\).*,\1\"git\"," /etc/etckeeper/etckeeper.conf
# GIT_COMMIT_OPTIONS=""
sed -i "s,^\(GIT_COMMIT_OPTIONS=\).*,\1\"\"," /etc/etckeeper/etckeeper.conf
# HIGHLEVEL_PACKAGE_MANAGER=apt
sed -i "s,^\(HIGHLEVEL_PACKAGE_MANAGER=\).*,\1\"apt\"," /etc/etckeeper/etckeeper.conf
# LOWLEVEL_PACKAGE_MANAGER=dpkg
sed -i "s,^\(LOWLEVEL_PACKAGE_MANAGER=\).*,\1\"dpkg\"," /etc/etckeeper/etckeeper.conf
# PUSH_REMOTE="origin"
sed -i "s,^\(GIT_COMMIT_OPTIONS=\).*,\1\"origin\"," /etc/etckeeper/etckeeper.conf
#AVOID_DAILY_AUTOCOMMITS=1
#AVOID_SPECIAL_FILE_WARNING=1
#AVOID_COMMIT_BEFORE_INSTALL=1
# Initialize etckeeper
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

View File

@ -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"

131
020_fmui.sh Normal file
View File

@ -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

130
020_freecad.sh Normal file
View File

@ -0,0 +1,130 @@
# 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 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=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" <<EOF
deb http://ppa.launchpad.net/freecad-maintainers/freecad-daily/ubuntu $YOUR_UBUNTU_VERSION_HERE main
deb-src http://ppa.launchpad.net/freecad-maintainers/freecad-daily/ubuntu $YOUR_UBUNTU_VERSION_HERE main
EOF
sudo ln -sf /etc/apt/sources.list-available/freecad-daily.list /etc/apt/sources.list.d/freecad-daily.list
# Launchpad PPA for FreeCAD maintainers
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 19BB5BCA
sudo bash -c "cat > /etc/apt/sources.list-available/freecad-stable.list" <<EOF
deb http://ppa.launchpad.net/freecad-maintainers/freecad-stable/ubuntu $YOUR_UBUNTU_VERSION_HERE main
deb-src http://ppa.launchpad.net/freecad-maintainers/freecad-stable/ubuntu $YOUR_UBUNTU_VERSION_HERE main
EOF
sudo ln -sf /etc/apt/sources.list-available/freecad-stable.list /etc/apt/sources.list.d/freecad-stable.list
sudo bash -c "cat > /etc/apt/sources.list-available/elmer.list" <<EOF
deb http://ppa.launchpad.net/elmer-csc-ubuntu/elmer-csc-ppa/ubuntu $YOUR_UBUNTU_VERSION_HERE main
deb-src http://ppa.launchpad.net/elmer-csc-ubuntu/elmer-csc-ppa/ubuntu $YOUR_UBUNTU_VERSION_HERE main
EOF
sudo ln -sf /etc/apt/sources.list-available/elmer.list /etc/apt/sources.list.d/elmer.list
sudo bash -c "cat > /etc/apt/sources.list-available/elmer.list" <<EOF
deb http://ppa.launchpad.net/elmer-csc-ubuntu/elmer-csc-ppa/ubuntu $YOUR_UBUNTU_VERSION_HERE main
deb-src http://ppa.launchpad.net/elmer-csc-ubuntu/elmer-csc-ppa/ubuntu $YOUR_UBUNTU_VERSION_HERE main
EOF
sudo ln -sf /etc/apt/sources.list-available/elmer.list /etc/apt/sources.list.d/elmer.list
sudo apt-get update
## freecad
# Signing key: 1024R/83193AA3B52FF6FCF10A1BBF005EAE8119BB5BCA (What is this?)
# Fingerprint: 83193AA3B52FF6FCF10A1BBF005EAE8119BB5BCA
## elmer
# Signing key: 4096R/1FE4A88ACFEE8388A409F23A89358ABF9FB7E178 (What is this?)
# Fingerprint: 1FE4A88ACFEE8388A409F23A89358ABF9FB7E178
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 19BB5BCA
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 9FB7E178
sudo apt-get install -y freecad calculix-ccx elmerfem-csc
#sudo ln -s /etc/apt/sources.list-available/devuan-ceres.list /etc/apt/sources.list.d/devuan-ceres.list
#sudo apt-get update
#sudo apt-get install -y -t unstable netgen
cd /usr/src
#sudo apt-get source netgen
#http://http.debian.net/debian/pool/main/n/netgen/netgen_4.9.13.dfsg-11.dsc
#http://http.debian.net/debian/pool/main/n/netgen/netgen_4.9.13.dfsg.orig.tar.gz
#http://http.debian.net/debian/pool/main/n/netgen/netgen_4.9.13.dfsg-11.debian.tar.xz
sudo gbp import-dsc -v --allow-unauthenticated http://http.debian.net/debian/pool/main/n/netgen/netgen_4.9.13.dfsg-11.dsc
cd netgen
sudo gbp dch --snapshot --auto
sudo gbp buildpackage --git-pbuilder --git-arch=amd64 --git-dist=ascii --git-ignore-branch
#sudo gbp buildpackage --git-pbuilder --git-arch=amd64 --git-dist=ascii --no-pristine-tar
#sudo gbp import-orig --upstream-version=0.1.6 --pristine-tar https://sigrok.org/download/source/sigrok-firmware-fx2lafw/sigrok-firmware-fx2lafw-0.1.6.tar.gz
#sudo gbp buildpackage --git-pbuilder --git-arch=amd64 --git-dist=ascii --othermirror="deb [trusted=yes] file:///srv/pbuilder/deps ./" --distribution=ascii --architecture=amd64
# Builds the folloeing:
#libnglib-4.9.13_4.9.13.dfsg-11_amd64.deb
#libnglib-4.9.13-dbgsym_4.9.13.dfsg-11_amd64.deb
#libnglib-dev_4.9.13.dfsg-11_amd64.deb
#netgen_4.9.13.dfsg-11_amd64.deb
#netgen-dbgsym_4.9.13.dfsg-11_amd64.deb
#netgen-doc_4.9.13.dfsg-11_all.deb
#netgen-headers_4.9.13.dfsg-11_amd64.deb
# The would be installed by apt-get install -f later but let be explicite.
sudo apt-get install \
tix \
liboce-ocaf-lite10 \
liboce-ocaf10 \
liboce-visualization10 \
libtogl1
sudo dpkg -i ../libnglib-4.9.13_4.9.13.dfsg-11_amd64.deb && dpkg -i ../netgen_4.9.13.dfsg-11_amd64.deb
sudo apt-get -y install -f
#sudo rm /etc/apt/sources.list.d/devuan-ceres.list && apt-get update
# opencascade in experimental
# https://ftp-master.debian.org/new/opencascade_7.2.0+dfsg1-1.html
# https://github.com/qingfengxia/FenicsSolver
# Openfoam CFD
# https://github.com/qingfengxia/Cfd
# https://forum.freecadweb.org/viewtopic.php?t=21576
# https://opensimsa.github.io/training.htmlGnuplot, Paraview and OpenFOAM
# https://github.com/jaheyns/CfdOF
# Requirements:
# * Latest release version of FreeCAD (0.17)
# ** or latest development version (0.18 prerelease; requires git commit 12539 or later)
# * OpenFOAM (versions 4.x and 5.x tested; other versions may work.) ascii has 4.1+dfsg1-1
# * Paraview - ascii has 5.1.2+dfsg1-2
# * GMSH (version 2.13 or later) ascii has 2.15
# * cfMesh (version 1.1.2 updated to compile with OpenFOAM v5.x)
# OpenFOAM 5.0 is a major new (july 2017) release of OpenFOAM, accompanied by ParaView 5.4.0
wget -c https://datapacket.dl.sourceforge.net/project/cfmesh-cfdof/cfmesh-cfdof.zip
# Available as addon in freecad interface
# https://github.com/jaheyns/CfdFoam
sudo apt-get install -y python-gmsh gmsh
sudo apt-get install -y gnuplot paraview openfoam

3
020_ghack_userjs.sh Normal file
View File

@ -0,0 +1,3 @@
# The script needs to be run in each firefox profile directory.
cd /var/tmp
wget -c https://raw.githubusercontent.com/ghacksuserjs/ghacks-user.js/master/updater.sh

View File

@ -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

70
020_git-mergetool.sh Normal file
View File

@ -0,0 +1,70 @@
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

49
020_grc.sh Normal file
View File

@ -0,0 +1,49 @@
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 cat="cl cat"
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 lsmod="cl lsmod"
alias lsattr="cl lsattr"
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 nmap="cl nmap"
alias ntpdate="cl ntpdate"
alias df="cl df -hT"
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

9
020_keepass.sh Normal file
View File

@ -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

65
020_kodi_nightly_ppa.sh Normal file
View File

@ -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

69
020_kodi_ppa.sh Normal file
View File

@ -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

41
020_lsd.sh Normal file
View File

@ -0,0 +1,41 @@
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 <color>... When to use terminal colours [default: auto] [possible values: always, auto, never]
# --date <date>... How to display date [default: date] [possible values: date, relative]
# --depth <num> Stop recursing into directories after reaching specified depth
# --group-dirs <group-dirs>... Sort the directories then the files [default: none] [possible values: none, first, last]
# --icon <icon>... When to print the icons [default: auto] [possible values: always, auto, never]
# --icon-theme <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/lsd"
alias ls="lsd"
fi
EOF

View File

@ -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.

92
020_lxd.sh Normal file
View File

@ -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 <user>
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

10
020_mps-youtube.sh Normal file
View File

@ -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

View File

@ -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'

30
020_nanorc.sh Normal file
View File

@ -0,0 +1,30 @@
sudo apt-get install nano
LATEST_URL=http://github.com/scopatz/nanorc.git
DIR_NAME=nano-syntax-highlighting/
install_path=/usr/share/${DIR_NAME}
mkdir -p $install_path
mkdir /tmp/nanorc-1.0
cd /tmp/nanorc-1.0
cat > ./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

13
020_neofetch_motd.sh Normal file
View File

@ -0,0 +1,13 @@
#!/bin/bash
apt-get install -y neofetch
mkdir -p /etc/update-motd.d
cat > /etc/update-motd.d/20neofetch <<EOF
#! /bin/sh
neofetch
EOF
chmod a+x /etc/update-motd.d/20neofetch
run-parts /etc/update-motd.d/

2
020_nethogs.sh Normal file
View File

@ -0,0 +1,2 @@
apt-get install nethogs
setcap "cap_net_admin,cap_net_raw+pe" /usr/sbin/nethogs

15
020_nodejs.sh Normal file
View File

@ -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

41
020_nvidia_cuda.sh Normal file
View File

@ -0,0 +1,41 @@
# http://developer.download.nvidia.com/compute/DevZone/docs/html/C/doc/CUDA_C_Getting_Started_Linux.pdf
https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html#package-manager-metas
http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1704/x86_64/
# Meta Package Purpose
# cuda Installs all CUDA Toolkit and Driver packages. Handles upgrading to the next version of the cuda package when it's released.
# cuda-9-1 Installs all CUDA Toolkit and Driver packages. Remains at version 9.1 until an additional version of CUDA is installed.
# cuda-toolkit-9-1 Installs all CUDA Toolkit packages required to develop CUDA applications. Does not include the driver.
# cuda-tools-9-1 Installs all CUDA command line and visual tools.
# cuda-runtime-9-1 Installs all CUDA Toolkit packages required to run CUDA applications, as well as the Driver packages.
# cuda-compiler-9-1 Installs all CUDA compiler packages.
# cuda-libraries-9-1 Installs all runtime CUDA Library packages.
# cuda-libraries-dev-9-1 Installs all development CUDA Library packages.
# cuda-drivers Installs all Driver packages. Handles upgrading to the next version of the Driver packages when they're released.
#curl http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1704/x86_64/cuda-repo-ubuntu1704_9.1.85-1_amd64.deb | dpkg -i -
# Ubuntu
#echo '#sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1704/x86_64/7fa2af80.pub' > /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)

1
020_obsproject.sh Normal file
View File

@ -0,0 +1 @@
sudo apt-get install obs-studio ffmpeg

11
020_onivim.sh Normal file
View File

@ -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"

186
020_pbuilder.sh Normal file
View File

@ -0,0 +1,186 @@
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
# 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
# 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

22
020_photogrametry.sh Normal file
View File

@ -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

247
020_platformio-core.sh Normal file
View File

@ -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

View File

@ -1,32 +1,50 @@
## 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}
#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
# 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
#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

10
020_pyload.sh Normal file
View File

@ -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

9
020_python-jf.sh Normal file
View File

@ -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

1
020_python.sh Normal file
View File

@ -0,0 +1 @@
apt install python3-requests python3-lxml python3-cssselect feh

View File

@ -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=( \

10
020_riot.sh Normal file
View File

@ -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

View File

@ -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

8
020_surf.sh Normal file
View File

@ -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

View File

@ -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
@ -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
@ -169,12 +169,14 @@ 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 > ~/.config/tmux/tmux.conf << 'EOF'
cat > ~/.tmux.conf << 'EOF'
# List of plugins
set -g @plugin 'tmux-plugins/tpm'
@ -189,3 +191,71 @@ 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'
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-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
# Removes ESC delay
set -sg escape-time 0
# List of plugins
set -g @tpm_plugins ' \
caiogondim/maglev \
tmux-plugins/tpm \
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 \
'
## Sets emac key binding
#set -g @tmp_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'
run '/usr/share/tmux-plugin-manager/tpm'
EOF
bash -c "/usr/share/tmux-plugin-manager/bin/install_plugins"

13
020_torbrowser.sh Normal file
View File

@ -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

11
020_tvheadend.sh Normal file
View File

@ -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

View File

@ -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

65
020_vcsh.sh Normal file
View File

@ -0,0 +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 <<EOF
[$HOME/.config/vcsh/repo.d/mr.git]
checkout = vcsh clone ${GIT_REPO}/vcsh_mr_template.git mr
update = vcsh mr pull
push = vcsh mr push
status = vcsh mr status
gc = vcsh mr gc
EOF
cat > ~/.config/mr/available.d/zsh.vcsh <<EOF
[$HOME/.config/vcsh/repo.d/zsh.git]
checkout = vcsh clone ${GIT_REPO}/zshrc.git zsh
EOF
cat > ~/.mrconfig <<EOF
[DEFAULT]
git_gc = git gc "$@"
jobs = 5
include = cat ~/.config/mr/config.d/*
EOF

28
020_vifm.sh Normal file
View File

@ -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 ueberzug

View File

@ -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
@ -60,6 +63,11 @@ set showmatch
let python_highlight_all = 1
syntax on
" Shortcut to rapidly toggle `set list`
nmap <leader>l :set list!<CR>
" 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 +144,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,15 +171,40 @@ 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'
" 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'
Plugin 'majutsushi/tagbar'
Plugin 'scrooloose/nerdtree'
Plugin 'jistr/vim-nerdtree-tabs'
Plugin 'severin-lemaignan/vim-minimap'
let g:minimap_highlight='Visual'
let NERDTreeQuitOnOpen=1
map <F2> :NERDTreeToggle<CR>
silent! nmap <C-p> :NERDTreeToggle<CR>
silent! map <F3> :NERDTreeFind<CR>
let g:NERDTreeMapActivateNode="<F3>"
let g:NERDTreeMapPreview="<F4>"
Plugin 'saltstack/salt-vim'
Plugin 'plasticboy/vim-markdown'
@ -182,7 +216,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'

View File

@ -2,15 +2,45 @@
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
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
# 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

View File

@ -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}

23
020_xmonad.sh Normal file
View File

@ -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

View File

@ -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} <<EOF
Section "InputClass"
Identifier "TrackPoint Clone Acceleration and Middle Click Emulation"
MatchProduct "DualPoint Stick"
@ -17,7 +24,7 @@ EndSection
EOF
# trackpad
echo > /etc/X11/xorg.conf.d/trackpad.conf << 'EOF'
echo > ${XORG_CONFDIR}/${TRACKPAD} <<EOF
Section "InputDevice"
Identifier "SynapticsMouse1"
Driver "synaptics"
@ -42,3 +49,22 @@ Section "InputDevice"
Option "TopEdge" "120"
EndSection
EOF
# cat /sys/devices/platform/i8042/serio1/input/input6/name
## AlpsPS/2 ALPS DualPoint TouchPad
cat > ${XORG_CONFDIR}/${TRACKPOINT} <<EOF
Section "InputClass"
Identifier "trackpoint catchall"
MatchIsPointer "true"
MatchProduct "AlpsPS/2 ALPS DualPoint Stick"
MatchDevicePath "/dev/input/event*"
Option "Emulate3Buttons" "true"
Option "EmulateWheel" "true"
Option "EmulateWheelButton" "2"
Option "XAxisMapping" "6 7"
Option "YAxisMapping" "4 5"
Option "VertResolution" "100"
Option "HorizResolution" "100"
EndSection
EOF

10
020_youtube-dl.sh Normal file
View File

@ -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

View File

@ -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,20 +19,20 @@ 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
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,11 +43,11 @@ 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
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.
@ -181,8 +192,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
@ -202,6 +213,13 @@ ZSH_THEME="agnoster" # powerline based theme
#ZSH_THEME="Pure"
EOF
cat > ~/.zshrc.d/001-vi-mode.sh << 'EOF'
# Set vi mode
bindkey -v
bindkey '^R' history-incremental-search-backward
EOF
#git clone https://github.com/bhilburn/powerlevel9k.git ~/.zgen/robbyrussell/oh-my-zsh-master/themes/powerlevel9k
## add a separate zsh aliases directory
@ -263,5 +281,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 <remco@dutchcoders.io>
#
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 "\n\nSee ~/$APPLICATION.log for all transfers.\n"
# cleanup
rm -f $tmpfile
}
EOF
chown -R root.root /usr/local/share/zsh/site-functions
chmod -R 755 /usr/local/share/zsh/site-functions

22
020_zsh_aliases.d.sh Normal file
View File

@ -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

View File

@ -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);

View File

@ -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

68
101_livecd-add-zfs.sh Normal file
View File

@ -0,0 +1,68 @@
# 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
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'
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
chroot ${ZFS_HOME} lsinitramfs /boot/initrd.img-*
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}

42
firefox-speedup.example Normal file
View File

@ -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 -

View File

@ -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")

View File

@ -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