From: Christian Heller Date: Thu, 13 Mar 2025 15:58:27 +0000 (+0100) Subject: Add SSID detection, more verbosity. X-Git-Url: https://plomlompom.com/repos/%7B%7B%20web_path%20%7D%7D/condition?a=commitdiff_plain;h=bf1fa591ec76d0d0869ffa6c1dcb92f4fe6954f5;p=config Add SSID detection, more verbosity. --- diff --git a/testing/scripts/setup_desktop.sh b/testing/scripts/setup_desktop.sh index 78cce2f..c4d8ee4 100755 --- a/testing/scripts/setup_desktop.sh +++ b/testing/scripts/setup_desktop.sh @@ -8,7 +8,8 @@ abort_if_offline get_system_name_arg "$1" MIN_MODULES="all ${SYSTEM_CLASS_NAME} ${SYSTEM_NAME}" -# For upgrading only very selectively prepare /etc/ files. +echo "Upgrading to testing." +# For this step only very selectively prepare /etc/ files. PATH_REL_APT=apt PATH_REL_APT_CONF=${PATH_REL_APT}/apt.conf.d PATH_REL_SOURCES_LIST=${PATH_REL_APT}/sources.list @@ -23,7 +24,7 @@ apt -y -o Dpkg::Options::='--force-confnew' upgrade apt -y -o Dpkg::Options::='--force-confnew' full-upgrade apt -y autoremove -# Set hostname and FQDN. +echo "Setting hostname and FQDN." echo "${SYSTEM_NAME}" > /etc/hostname hostname "${SYSTEM_NAME}" final_ip="127.0.1.1" @@ -51,6 +52,7 @@ done echo "127.0.0.1 localhost.localdomain localhost" > /etc/hosts echo "${final_ip} ${SYSTEM_NAME}" >> /etc/hosts +echo "Installing and/or keeping only what's required by us or Debian." # Ensure package installation state as defined by what packages are # defined as required by Debian policy and by settings in ./apt-mark/. mark_nonrequireds_auto @@ -63,24 +65,41 @@ for root in $ROOTS_HERE_AND_MANY; do done apt -y --purge autoremove -# Adapt /etc/ to our needs. +echo "Adapting /etc to our needs." for root in $ROOTS_HERE_AND_MANY; do copy_dirtree "${root}/${PATH_REL_ETC}" '/etc' ${MIN_MODULES} user desktop done -# Ensure our desired locale is available. +echo "Ensuring our desired locale is available." locale-gen -# Set Berlin localtime. +echo "Setting Berlin localtime." ln -sf /usr/share/zoneinfo/Europe/Berlin /etc/localtime ntpdate-debian -# Set up root environment. +echo "Setting up root user's home directory." for root in $ROOTS_HERE_AND_MANY; do copy_dirtree "${root}/${PATH_REL_HOME}" '/root' ${MIN_MODULES} minimal root done -# Set up user and their environment. +echo "Checking for existing wifi config in ${PATH_NETWORK_INTERFACES}." +PATH_NETWORK_INTERFACES=/etc/network/interfaces +get_network_interfaces_last_wpa_value() { + REGEX="^\s+wpa-${1}\s+" + cat "${PATH_NETWORK_INTERFACES}" | grep -E "${REGEX}" | sed -E "s/${REGEX}//g" | tail -1 +} +WLAN_SSID=$(get_network_interfaces_last_wpa_value 'ssid') +WLAN_PSK=$(get_network_interfaces_last_wpa_value 'psk') +if [ ! -z "${WLAN_SSID}" ]; then + echo "Found, adding to NetworkManager." + if [ -z "${WLAN_PSK}" ]; then + nmcli connection add type wifi ssid "${WLAN_SSID}" + else # NB: assumes last (collected with tail -1) wpa-psk that of last wlan-ssid + nmcli connection add type wifi ssid "${WLAN_SSID}" password "${WLAN_PSK}" + fi +fi + +echo "Setting up user ${USERNAME}." adduser --disabled-password --gecos "" "${USERNAME}" usermod -a -G sudo "${USERNAME}" for root in $ROOTS_HERE_AND_MANY; do