#!/bin/sh
set -e
cd $(dirname "$0")
+. lib/check_finished_marker
+. lib/chown_to_user
. lib/constants_catgirl # PATH_USER_SHARE_CATGIRL
-. 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
-
+. lib/constants_user # PATH_USER_HOME
. lib/ensure_etc_of_tags
+. lib/ensure_homefiles_of_tags
. lib/ensure_packages_of_tags
+. lib/expect_n_args
-PATH_DEP=/root/setup_server.finished
-if [ ! -f "${PATH_DEP}" ]; then
- abort "No ${PATH_DEP} found – run setup_server.sh first!"
-fi
+check_finished_marker 'setup_server'
expect_n_args 1 1 'IRC_PASSWORD' $@
IRC_PASSWORD="$1"
-ensure_packages_of_tags() {
- # Walk through the package names in ../aptmark/ files to ensure the respective
- # packages are installed.
- for TAG in $@; do
- PATH_APTMARK_TAG="../aptmark/${TAG}"
- if [ ! -f "${PATH_APTMARK_TAG}" ]; then
- continue
- fi
- cat "${PATH_APTMARK_TAG}" | while read LINE; do
- if [ ! $(echo "${LINE}" | cut -c1) = "#" ]; then
- apt-get -y -o Dpkg::Options::="--force-confnew" install "${LINE}"
- fi
- done
- done
-}
+PATH_USER_CONF_CATGIRL="${PATH_USER_HOME}/.config/catgirl/libera"
+echo "\nInstalling catgirl packages, /etc and /home files."
ensure_packages_of_tags catgirl
ensure_etc_of_tags catgirl
-copy_dirtree "${_PATH_CONF_HOME}" "${PATH_USER_HOME}" catgirl
-chown -R "${USERNAME}:${USERNAME}" "${PATH_USER_HOME}"
+ensure_homefiles_of_tags catgirl
-mkdir -p "${PATH_USER_SHARE_CATGIRL}"
+echo "\nSetting up ${PATH_USER_SHARE_CATGIRL} so logs can go there."
+TO_CHOWN=$(mkdir -pv "${PATH_USER_SHARE_CATGIRL}" | sed 's/mkdir: created directory //g' | head -1)
+chown_to_user "${TO_CHOWN}"
-echo '\nSetting up catgirl.'
-
-sed -i "s/REPLACE_WITH_IRC_PASSWORD/${IRC_PASSWORD}/g" "${PATH_USER_HOME}/.config/catgirl/libera"
+echo "\nWriting provided password into ${PATH_USER_CONF_CATGIRL}."
+sed -i "s/REPLACE_WITH_IRC_PASSWORD/${IRC_PASSWORD}/g" "${PATH_USER_CONF_CATGIRL}"
+chown_to_user "${PATH_USER_SHARE_CATGIRL}"
chown -R plom:plom "${PATH_USER_SHARE_CATGIRL}"
+echo "\nActivating catgirl tmux session service."
systemctl enable --now catgirl
+
+echo "\nActivating catgirl logs encryption service/timer."
systemctl enable --now encrypt_catgirl_logs.timer