pi ${p1[@]}
+##### begin automatic upgrades ####
+# this makes it so we upgrade everything
+debconf-set-selections <<'EOF'
+unattended-upgrades unattended-upgrades/origins_pattern string "codename=${distro_codename}";
+EOF
+dpkg-reconfigure -u -fnoninteractive unattended-upgrades
+
+# Setup daily reboots, so all unattended upgrades go into affect
+# unattended upgrades happen at 6 am + rand(60 min).
+echo '20 7 * * * root /usr/local/bin/zelous-unattended-reboot' >/etc/cron.d/unattended-upgrade-reboot
+##### end automatic upgrades ####
+
## prometheus node exporter setup
web-conf -f 9100 -p 9101 apache2 $(hostname -f) <<'EOF'
fi
######### end pump.io periodic backup #############
+
+######### begin irc periodic backup #############
+if [[ $HOSTNAME == frodo ]]; then
+ s dd of=/etc/systemd/system/ircbackup.service <<'EOF'
+[Unit]
+Description=irc li backup
+After=multi-user.target
+
+[Service]
+User=iank
+Type=oneshot
+ExecStart=/a/bin/log-quiet/sysd-mail-once irc-backup rsync -rlptDhSAX --delete root@iankelling.org:/var/lib/znc/moddata/log/iank/freenode/ /k/irclogs
+EOF
+ s dd of=/etc/systemd/system/ircbackup.timer <<'EOF'
+[Unit]
+Description=irc li backup hourly
+
+[Timer]
+OnCalendar=hourly
+
+[Install]
+WantedBy=timers.target
+EOF
+ s systemctl daemon-reload
+ sgo ircbackup.timer
+fi
+
+
+######### end irc periodic backup #############
+
+
# https://github.com/jlebon/textern
cd /a/opt/textern
make native-install USER=1
# sakura config is owned by ian
reset-sakura
reset-konsole
-sudo -u traci -i reset-konsole
-# traci xscreensaver we don't want to reset
+sudo -u user2 -i reset-konsole
+# user2 xscreensaver we don't want to reset
reset-xscreensaver
cd $t
aptitude download debootstrap/xenial
ex *
- ex data.tar.gz
s cp ./usr/share/debootstrap/scripts/* /usr/share/debootstrap/scripts
-
;;
+
+ s dd of=/etc/apt/preferences.d/flidas-etiona <<EOF
+Package: *
+Pin: release a=etiona
+Pin-Priority: -100
+
+Package: *
+Pin: release a=etiona-updates
+Pin-Priority: -100
+
+Package: *
+Pin: release a=etiona-security
+Pin-Priority: -100
+
+Package: *
+Pin: release a=etiona-backports
+Pin-Priority: -100
+EOF
+
+ t=$(mktemp)
+ cat >$t <<EOF
+deb http://mirror.fsf.org/trisquel/ etiona main
+deb http://mirror.fsf.org/trisquel/ etiona-updates main
+deb http://archive.trisquel.info/trisquel/ etiona-security main
+deb http://mirror.fsf.org/trisquel/ etiona-backports main
+EOF
+ f=/etc/apt/sources.list.d/etiona.list
+ if ! diff -q $t $f; then
+ s cp $t $f
+ s chmod 644 $f
+ p update
+ fi
+
esac
# /run and /dev/shm are listed as required for pulseaudio. All 4 in the group
directory=$d
profile=desktop
preserve-environment=true
-users=$USER,traci
+users=$USER,user2
EOF
if [[ -e $d/bin ]]; then
s chroot $d apt-get update
fi
for f in /i/k/partial-torrents /i/k/torrents; do
if [[ -e $f ]]; then
- s chown -R debian-transmission:traci $f
+ s chown -R debian-transmission:user2 $f
fi
done
s chown -R debian-transmission:debian-transmission /var/lib/transmission-daemon
rpc_pass=$(</p/transmission-rpc-pass)
for f in /home/*; do
- d=$f/.config/transmission-remote-gtk
u=${f##*/}
+ if [[ ! $(id -u $u) -ge 1000 ]]; then
+ continue
+ fi
+ d=$f/.config/transmission-remote-gtk
s -u $u mkdir -p $d
s -u $u dd of=$d/config.json <<EOF
{
# allow user to run vms, from debian handbook
-for x in iank traci; do s usermod -a -G libvirt,kvm $x; done
+for x in iank user2; do s usermod -a -G libvirt,kvm $x; done
# bridge networking as user fails. google lead here, but it doesn\'t work:
# oh well, I give up.
# http://wiki.qemu.org/Features-Done/HelperNetworking