# SPDX-License-Identifier: AGPL-3.0-or-later
# shellcheck source=/a/bin/ds/.bashrc
-export LC_USEBASHRC=t; if [[ -s ~/.bashrc ]];then . ~/.bashrc;fi
+export LC_USEBASHRC=t; if [[ -s ~/.bashrc ]]; then . ~/.bashrc; fi
### setup
source /a/bin/errhandle/err
sd /etc/openvpn/client-config-hole/onep9 <<'EOF'
ifconfig-push 10.5.5.14 255.255.255.0
+EOF
+ sd /etc/openvpn/client-config-hole/bo <<'EOF'
+ifconfig-push 10.5.5.13 255.255.255.0
EOF
sd /etc/openvpn/client-config-hole/sy <<'EOF'
ifconfig-push 10.5.5.12 255.255.255.0
### system76 things ###
case $HOSTNAME in
- sy)
+ sy|bo)
# note, i stored the initial popos packages at /a/bin/data/popos-pkgs
if [[ ! -e /etc/apt/sources.list.d/system76.list ]]; then
# https://blog.zackad.dev/en/2017/08/17/add-ppa-simple-way.html
deb-src http://ppa.launchpad.net/system76-dev/stable/ubuntu $codename_compat main
EOF
# ubuntu keyserver is prone to intermittent failures
- for (( i=0; i <= 4 ; i++ )); do
- s apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 5D1F3A80254F6AFBA254FED5ACD442D1C8B7748B && break
- sleep 10
- done
+ trysleep 4 15 s apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 5D1F3A80254F6AFBA254FED5ACD442D1C8B7748B
p update
# https://support.system76.com/articles/install-ubuntu/
# but i'm hoping this is not needed
# Pin: release o=LP-PPA-system76-dev-stable
# Pin-Priority: 1001
# EOF
- pi system76-driver system76-firmware-cli
+ pi system76-driver system76-firmware
# if you get a notice about a firmware update, the notifier on i3
# is too dumb to do anything when you click it. so to see
# a changelog, cd to
trisquel|ubuntu)
# ppa:obsproject/obs-studio
- if [[ ! -d /etc/apt/sources.list.d/obs.list ]]; then
+ if [[ ! -s /etc/apt/sources.list.d/obs.list ]]; then
# https://blog.zackad.dev/en/2017/08/17/add-ppa-simple-way.html
sd /etc/apt/sources.list.d/obs.list <<EOF
deb http://ppa.launchpad.net/obsproject/obs-studio/ubuntu $codename_compat main
deb-src http://ppa.launchpad.net/obsproject/obs-studio/ubuntu $codename_compat main
EOF
- for (( i=0; i <= 4 ; i++ )); do
- s apt-key adv --keyserver keyserver.ubuntu.com --recv-keys BC7345F522079769F5BBE987EFC71127F425E228 && break
- sleep 10
- done
+ trysleep 4 15 s apt-key adv --keyserver keyserver.ubuntu.com --recv-keys BC7345F522079769F5BBE987EFC71127F425E228
p update
fi
;;
# stop that.
if id -u gdm &>/dev/null; then
sudo -u gdm dbus-launch gsettings set org.gnome.settings-daemon.plugins.power sleep-inactive-ac-type 'nothing'
- m systemctl --user stop gvfs-daemon
- m systemctl --user disable gvfs-daemon
fi
;;&
focal)
fi
############# begin syncthing setup ###########
-if [[ $HOSTNAME == frodo ]]; then
- # It\'s simpler to just worry about running it in one place for now.
- # I assume it would work to clone it\'s config to another non-phone
- # and just run it in one place instead of the normal having a
- # separate config. I lean toward using the same config, since btrfs
- # syncs between comps.
- # testing has relatively up to date packages
- if ! isdebian-testing; then
- # based on error when doing apt-get update:
- # E: The method driver /usr/lib/apt/methods/https could not be found.
- pi apt-transport-https
- # google led me here:
- # https://apt.syncthing.net/
- curl -s https://syncthing.net/release-key.txt | sudo apt-key add -
- s="deb http://apt.syncthing.net/ syncthing release"
+case $HOSTNAME in
+ kd|frodo)
+ f=/usr/share/keyrings/syncthing-archive-keyring.gpg
+ if [[ ! -e $f ]]; then
+ s curl -s -o $f https://syncthing.net/release-key.gpg
+ fi
+ s="deb [signed-by=/usr/share/keyrings/syncthing-archive-keyring.gpg] https://apt.syncthing.net/ syncthing stable"
if [[ $(cat /etc/apt/sources.list.d/syncthing.list) != "$s" ]]; then
echo "$s" | sd /etc/apt/sources.list.d/syncthing.list
p update
fi
- fi
- pi syncthing
- m lnf -T /w/syncthing /home/iank/.config/syncthing
- ser daemon-reload # syncthing likely not properly packaged
- sgo syncthing@iank # runs as iank
-
- # these things persist in ~/.config/syncthing, which I save in
- # /w/syncthing (not in /p, because syncthing should continue to
- # run on home server even when using laptop as primary device)
- # open http://localhost:8384/
- # change listen address from default to tcp://:22001,
- # this is because we do port forward so it doesn\'t have to use
- # some external server, but the syncthing is broken for port forward,
- # you get a message, something "like connected to myself, this should not happen"
- # when connecting to other local devices, so I bump the port up by 1,
- # based on
- # https://forum.syncthing.net/t/connected-to-myself-should-not-happen/1763/19.
- # Without this, it was being stuck syncing at 0%.
- # Set gui username and password.
- #
- # install syncthing via f-droid,
- # folder setting, turn off send only.
- # on phone, add device, click bar code icon
- # on dekstop, top right, actions, device id
- # after adding, notification will appear on desktop to confirm
- #
- # syncing folder. from phone to desktop: select desktop in the
- # folder on phone\'s sync options, notification will appear in
- # desktop\'s web ui within a minute. For the reverse, the
- # notification will appear in android\'s notifications, you have to
- # swipe down and tap it to add the folder. It won\'t appear in the
- # syncthing ui, which would be intuitive, but don\'t wait for it
- # there. The notification may not work, instead open the web gui
- # from in the app, there should be a notification within there.
- #
- # On phone, set settings to run syncthing all the time, and
- # show no notification.
- #
- # Folder versioning would make sense if I didn\'t already use btrfs
- # for backups. I would choose staggered, or trash can for more space.
- #
- # if needed to install on a remote comp:
- # ssh -L 8384:localhost:8384 -N frodo
- # open http://localhost:8384/
- #
- # Note, the other thing i did was port forward port 22000,
- # per https://docs.syncthing.net/users/firewall.html
+ pi syncthing
+ ;;&
+ frodo)
+ m lnf -T /w/syncthing /home/iank/.config/syncthing
+ ser daemon-reload # syncthing likely not properly packaged
+ sgo syncthing@iank # runs as iank
+ ;;
+ kd)
+ # 1003 just happens to be what was on my system
+ if ! getent passwd ziva; then
+ s groupadd -g 1003 ziva
+ # syncthing state / config / db are all in ~/.config/syncthing
+ s useradd -g 1003 -u 1003 -d /d/ziva-home -c ziva -s /bin/bash ziva
+ fi
+ sgo syncthing@ziva
+ ;;
+esac
+
+# user for short term use dropping of privileges
+
+if ! getent group zu &>/dev/null; then
+ s groupadd -g 1023 zu
+fi
+if ! getent passwd zu &>/dev/null; then
+ s useradd -g 1023 -u 1023 -c zu -s /bin/bash zu
fi
+
+
+# these things persist in ~/.config/syncthing, which I save in
+# /w/syncthing (not in /p, because syncthing should continue to
+# run on home server even when using laptop as primary device)
+# open http://localhost:8384/
+# change listen address from default to tcp://:22001,
+# this is because we do port forward so it doesn\'t have to use
+# some external server, but the syncthing is broken for port forward,
+# you get a message, something "like connected to myself, this should not happen"
+# when connecting to other local devices, so I bump the port up by 1,
+# based on
+# https://forum.syncthing.net/t/connected-to-myself-should-not-happen/1763/19.
+# Without this, it was being stuck syncing at 0%.
+# Set gui username and password.
+#
+# install syncthing via f-droid,
+# folder setting, turn off send only.
+# on phone, add device, click bar code icon
+# on dekstop, top right, actions, device id
+# after adding, notification will appear on desktop to confirm
+#
+# syncing folder. from phone to desktop: select desktop in the
+# folder on phone\'s sync options, notification will appear in
+# desktop\'s web ui within a minute. For the reverse, the
+# notification will appear in android\'s notifications, you have to
+# swipe down and tap it to add the folder. It won\'t appear in the
+# syncthing ui, which would be intuitive, but don\'t wait for it
+# there. The notification may not work, instead open the web gui
+# from in the app, there should be a notification within there.
+#
+# On phone, set settings to run syncthing all the time, and
+# show no notification.
+#
+# Folder versioning would make sense if I didn\'t already use btrfs
+# for backups. I would choose staggered, or trash can for more space.
+#
+# if needed to install on a remote comp:
+# ssh -L 8384:localhost:8384 -N frodo
+# open http://localhost:8384/
+#
+# Note, the other thing i did was port forward port 22000,
+# per https://docs.syncthing.net/users/firewall.html
+
############# end syncthing setup ###########
m /a/bin/buildscripts/rust
m /a/bin/buildscripts/misc
m /a/bin/buildscripts/pithosfly
-m /a/bin/buildscripts/alacritty
+#m /a/bin/buildscripts/alacritty
+m /a/bin/buildscripts/kitty
pi-nostart virtinst virt-manager
soff libvirtd
########### misc stuff
if [[ $HOSTNAME != frodo ]]; then
- s cedit hole /etc/hosts <<EOF ||:
-10.5.5.3 amy amy.b8.nz
-10.5.5.5 frodo frodo.b8.nz
-10.5.5.6 wclient wclient.b8.nz
-EOF
+ # remove. i moved this into dns
+ echo | s cedit hole /etc/hosts ||:
fi
if [[ ! -e ~/.local/bin/pip ]]; then