From: Christian Heller <c.heller@plomlompom.de>
Date: Thu, 10 Apr 2025 05:57:49 +0000 (+0200)
Subject: Add catgirl setup.
X-Git-Url: https://plomlompom.com/repos/%22https:/validator.w3.org/static/%7B%7Bprefix%7D%7D?a=commitdiff_plain;h=068c392d15141fb95bdf0b398146a187fd42920f;p=config

Add catgirl setup.
---

diff --git a/bookworm/aptmark/catgirl b/bookworm/aptmark/catgirl
new file mode 100644
index 0000000..ddab378
--- /dev/null
+++ b/bookworm/aptmark/catgirl
@@ -0,0 +1,4 @@
+# IRC
+tmux
+catgirl
+#
diff --git a/bookworm/aptmark/server b/bookworm/aptmark/server
index ca3474f..cefa289 100644
--- a/bookworm/aptmark/server
+++ b/bookworm/aptmark/server
@@ -6,7 +6,4 @@ nftables
 borgbackup
 # for playing nicely with ssh sessions via the foot terminal
 foot-terminfo
-# IRC
-tmux
-catgirl
 #
diff --git a/bookworm/etc/catgirl/systemd/system/catgirl.service b/bookworm/etc/catgirl/systemd/system/catgirl.service
new file mode 100644
index 0000000..38d9fd1
--- /dev/null
+++ b/bookworm/etc/catgirl/systemd/system/catgirl.service
@@ -0,0 +1,15 @@
+[Unit]
+Description=catgirl in tmux Session
+After=network.target
+
+[Service]
+Type=forking
+User=plom
+ExecStart=/usr/bin/tmux new-session -d -s catgirl_tmux /usr/bin/catgirl libera
+ExecStop=/usr/bin/tmux kill-session -t catgirl_tmux
+Restart=always
+RestartSec=10
+
+[Install]
+WantedBy=multi-user.target
+
diff --git a/bookworm/home/catgirl/.config/catgirl/libera b/bookworm/home/catgirl/.config/catgirl/libera
new file mode 100644
index 0000000..5d04ff2
--- /dev/null
+++ b/bookworm/home/catgirl/.config/catgirl/libera
@@ -0,0 +1,3 @@
+host = irc.libera.chat
+join = #plomtest
+sasl-plain = plomlompom:REPLACE_WITH_SASL_PASSWORD
diff --git a/bookworm/preseed.cfg b/bookworm/preseed.cfg
index 7553d7c..06d5766 100644
--- a/bookworm/preseed.cfg
+++ b/bookworm/preseed.cfg
@@ -32,7 +32,7 @@ d-i partman-auto-crypto/erase_disks boolean false
 
 d-i base-installer/kernel/image string linux-image-amd64
 d-i base-installer/initramfs-tools/driver-policy most
-d-i base-installer/install-recommends boolean false
+#d-i base-installer/install-recommends boolean false
 
 #d-i pkgsel/run_tasksel boolean false
 
diff --git a/bookworm/scripts/setup_catgirl.sh b/bookworm/scripts/setup_catgirl.sh
new file mode 100755
index 0000000..4900947
--- /dev/null
+++ b/bookworm/scripts/setup_catgirl.sh
@@ -0,0 +1,60 @@
+#!/bin/sh
+set -e
+cd $(dirname "$0")
+. lib/constants_repopaths # PATH_CONF
+. lib/constants_ssh  # PATH_REL_SSH, PATH_USER_SSH
+. lib/constants_user  # PATH_USER_HOME, USERNAME
+. lib/copy_dirtree
+. lib/determine_ip
+. lib/expect_n_args
+. lib/init_packages
+. lib/setup_users
+
+MIN_TAGS='all server catgirl'
+
+expect_n_args 3 3 'HOSTNAME, FQDN, SASL_PASSWORD' $@
+HOSTNAME="$1"
+FQDN="$2"
+SASL_PASSWORD="$2"
+
+PATH_REL_ETC=etc
+PATH_CONF_ETC="${PATH_CONF}/${PATH_REL_ETC}"
+PATH_ETC="/${PATH_REL_ETC}"
+PATH_HOSTS="${PATH_ETC}/hosts"
+PATH_BORG_HOME=/home/borg
+
+init_packages "${MIN_TAGS}"
+
+echo '\nSetting hostname and FQDN.'
+echo "${HOSTNAME}" > "${PATH_ETC}/hostname"
+hostname "${HOSTNAME}"
+echo '127.0.0.1 localhost.localdomain localhost' > "${PATH_HOSTS}"
+echo "$(determine_ip) ${FQDN} ${HOSTNAME}" >> "${PATH_HOSTS}"
+
+echo '\nAdapting /etc to our needs.'
+copy_dirtree "${PATH_CONF_ETC}" "${PATH_ETC}"${MIN_TAGS}
+
+echo '\nSetting Berlin localtime.'
+ln -sf /usr/share/zoneinfo/Europe/Berlin "${PATH_ETC}/localtime"
+ntpdate-debian
+
+setup_users "${MIN_TAGS}" ''
+
+echo '\nMoving SSH data from root to user.'
+mkdir -p "${PATH_USER_SSH}"
+mv "/root/${PATH_REL_SSH}/authorized_keys" "${PATH_USER_SSH}/"
+chown -R "${USERNAME}:${USERNAME}" "${PATH_USER_SSH}"
+
+echo '\nSetting up minimal borg user.'
+adduser --system --home "${PATH_BORG_HOME}" --shell /bin/sh borg
+cp -a "${PATH_USER_SSH}" "${PATH_BORG_HOME}/"
+chown -R borg:nogroup "${PATH_BORG_HOME}/${PATH_REL_SSH}"
+
+echo '\nEnabling the firewall.'
+systemctl enable nftables.service
+systemctl start nftables.service
+
+echo '\nSet up catgirl.'
+sed -i "s/REPLACE_WITH_SASL_PASSWORD/${SASL_PASSWORD}/g" "${PATH_USER_HOME}/.config/catgirl/libera"
+systemctl enable catgirl.service
+systemctl start catgirl.service
diff --git a/bookworm/scripts/setup_server.sh b/bookworm/scripts/setup_server.sh
deleted file mode 100755
index 1c79edd..0000000
--- a/bookworm/scripts/setup_server.sh
+++ /dev/null
@@ -1,53 +0,0 @@
-#!/bin/sh
-set -e
-cd $(dirname "$0")
-. lib/constants_repopaths # PATH_CONF
-. lib/constants_ssh  # PATH_REL_SSH, PATH_USER_SSH
-. lib/constants_user  # USERNAME
-. lib/copy_dirtree
-. lib/determine_ip
-. lib/expect_n_args
-. lib/init_packages
-. lib/setup_users
-
-MIN_TAGS='all server'
-
-expect_n_args 2 2 'HOSTNAME, FQDN' $@
-HOSTNAME="$1"
-FQDN="$2"
-
-PATH_REL_ETC=etc
-PATH_CONF_ETC="${PATH_CONF}/${PATH_REL_ETC}"
-PATH_ETC="/${PATH_REL_ETC}"
-PATH_HOSTS="${PATH_ETC}/hosts"
-PATH_BORG_HOME=/home/borg
-
-init_packages "${MIN_TAGS}"
-
-echo '\nSetting hostname and FQDN.'
-echo "${HOSTNAME}" > "${PATH_ETC}/hostname"
-hostname "${HOSTNAME}"
-echo '127.0.0.1 localhost.localdomain localhost' > "${PATH_HOSTS}"
-echo "$(determine_ip) ${FQDN} ${HOSTNAME}" >> "${PATH_HOSTS}"
-
-echo '\nAdapting /etc to our needs.'
-copy_dirtree "${PATH_CONF_ETC}" "${PATH_ETC}"${MIN_TAGS}
-
-echo '\nSetting Berlin localtime.'
-ln -sf /usr/share/zoneinfo/Europe/Berlin "${PATH_ETC}/localtime"
-ntpdate-debian
-
-setup_users "${MIN_TAGS}" ''
-
-echo '\nMoving SSH data from root to user.'
-mkdir -p "${PATH_USER_SSH}"
-mv "/root/${PATH_REL_SSH}/authorized_keys" "${PATH_USER_SSH}/"
-chown -R "${USERNAME}:${USERNAME}" "${PATH_USER_SSH}"
-
-echo '\nSetting up minimal borg user.'
-adduser --system --home "${PATH_BORG_HOME}" --shell /bin/sh borg
-cp -a "${PATH_USER_SSH}" "${PATH_BORG_HOME}/"
-chown -R borg:nogroup "${PATH_BORG_HOME}/${PATH_REL_SSH}"
-
-echo '\nEnabling the firewall.'
-systemctl enable nftables.service