home · contact · privacy
Fixes.
authorChristian Heller <c.heller@plomlompom.de>
Mon, 31 Mar 2025 09:39:09 +0000 (11:39 +0200)
committerChristian Heller <c.heller@plomlompom.de>
Mon, 31 Mar 2025 09:39:09 +0000 (11:39 +0200)
bookworm/scripts/lib/setup_users
testing/scripts/setup_desktop.sh

index 8604a3a461d276b54564f75363ea0f8bc9d485f2..96c5d58364070403ac5a19a3ce276341aaea6394 100644 (file)
@@ -3,15 +3,16 @@
 setup_users() {
     USERNAME="$1"
     MIN_TAGS="$2"
+    TAGS_USER="$2"
     PATH_CONF_HOME=../home
     PATH_USER_HOME=/home/"${USERNAME}"
 
     echo "\nSetting up root user's home directory."
     copy_dirtree "${PATH_CONF_HOME}" '/root' ${MIN_TAGS} root
-    
+
     echo "\nSetting up user ${USERNAME}."
     adduser --disabled-password --gecos "" "${USERNAME}"
     usermod -a -G sudo "${USERNAME}"
-    copy_dirtree "${PATH_CONF_HOME}" "${PATH_USER_HOME}" ${MIN_TAGS} user
+    copy_dirtree "${PATH_CONF_HOME}" "${PATH_USER_HOME}" ${MIN_TAGS} ${TAGS_USER}
     chown -R "${USERNAME}:${USERNAME}" "${PATH_USER_HOME}"
 }
index 57eeac6b9b15c7304136c7226ac811824f48d733..f1b39b2c0c82d21c8fafb8cded44a8ae03cea2e3 100755 (executable)
@@ -17,10 +17,10 @@ PATH_ETC="/${PATH_REL_ETC}"
 PATH_NETWORK_INTERFACES="${PATH_ETC}/network/interfaces"
 PATH_REL_APT=apt
 PATH_REL_APT_CONF=${PATH_REL_APT}/apt.conf.d
-TAG_ALL=all
-MIN_TAGS="${TAG_ALL} desktop"
-THINKPAD_NAMES="x220 w530 t490s"
 
+abort_if_offline
+
+THINKPAD_NAMES="x220 w530 t490s"
 get_system_class_for() {
     for THINKPAD_NAME in $THINKPAD_NAMES; do
         if [ "$1" = "${THINKPAD_NAME}" ]; then
@@ -30,7 +30,6 @@ get_system_class_for() {
     done
     printf ''
 }
-
 abort_if_illegal_system_name() {
     LEGAL_SYSTEM_NAMES="${THINKPAD_NAMES} h610m"
     for SYSTEM_NAME_I in $LEGAL_SYSTEM_NAMES; do
@@ -40,6 +39,14 @@ abort_if_illegal_system_name() {
     done
     abort 'Need legal system name.'
 }
+expect_min_n_args 1 "(system name)" "$@"
+SYSTEM_NAME="$1"
+abort_if_illegal_system_name "${SYSTEM_NAME}"
+SYSTEM_CLASS_NAME="$(get_system_class_for ${SYSTEM_NAME})"
+TAG_ALL=all
+TAGS_USER="user desktop"
+MIN_TAGS="${TAG_ALL} ${SYSTEM_CLASS_NAME} ${SYSTEM_NAME}"
+TAGS_PACKAGES="${MIN_TAGS} ${TAGS_USER}"
 
 upgrade_from_older_release() {
     apt_update_to_full_upgrade() {
@@ -71,14 +78,6 @@ adopt_wifi_connection() {
     fi
 }
 
-expect_min_n_args 1 "(system name)" "$@"
-abort_if_offline
-SYSTEM_NAME="$1"
-abort_if_illegal_system_name "${SYSTEM_NAME}"
-SYSTEM_CLASS_NAME="$(get_system_class_for ${SYSTEM_NAME})"
-MIN_TAGS="${MIN_TAGS} ${SYSTEM_CLASS_NAME} ${SYSTEM_NAME}"
-MAX_TAGS="${MIN_TAGS} user"
-
 export DEBIAN_FRONTEND=noninteractive
 
 echo "\nUpgrading to testing."
@@ -86,7 +85,7 @@ echo "\nUpgrading to testing."
 cp "${PATH_CONF_ETC}/${TAG_ALL}/${PATH_REL_APT_CONF}/99_minimize_dependencies" "${PATH_ETC}/${PATH_REL_APT_CONF}/"
 upgrade_from_older_release
 
-init_packages "${MAX_TAGS}"
+init_packages "${TAGS_PACKAGES}"
 
 # NB: This needs to come before steps potentially overwriting /etc/network/interfaces.
 if [ "$(nmcli -f TYPE conn | grep 'wifi' | wc -l)" = "0" ]; then
@@ -103,7 +102,7 @@ echo "127.0.0.1 localhost.localdomain localhost" > /etc/hosts
 echo "$(determine_ip) ${SYSTEM_NAME}" >> /etc/hosts
 
 echo "\nAdapting /etc to our needs."
-copy_dirtree "${PATH_CONF_ETC}" '/etc' ${MAX_TAGS}
+copy_dirtree "${PATH_CONF_ETC}" '/etc' ${TAGS_PACKAGES}
 
 # echo "\nEnsuring our desired locale is available."
 # locale-gen
@@ -112,5 +111,5 @@ echo "\nSetting Berlin localtime."
 ln -sf /usr/share/zoneinfo/Europe/Berlin /etc/localtime
 ntpdate-debian
 
-setup_users plom "${MIN_TAGS}"
+setup_users 'plom' "${MIN_TAGS}" "${TAGS_USER}"
 passwd "${USERNAME}"