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}"
}
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
done
printf ''
}
-
abort_if_illegal_system_name() {
LEGAL_SYSTEM_NAMES="${THINKPAD_NAMES} h610m"
for SYSTEM_NAME_I in $LEGAL_SYSTEM_NAMES; do
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() {
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."
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
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
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}"