From fe21611678a60261c6252ad05d93443aec453fc6 Mon Sep 17 00:00:00 2001 From: Michael Czechowski Date: Tue, 16 Sep 2025 18:56:01 +0200 Subject: [PATCH] fix: restore workshop WiFi connection setup service - Add back the missing workshop-wifi-setup systemd service - Service creates and connects to 'ziegel' WiFi network automatically - Fixes missing WiFi connection that was present in main branch - Provides fallback hotspot connectivity for workshop environment --- common.nix | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/common.nix b/common.nix index 02f6f63..4f402d8 100644 --- a/common.nix +++ b/common.nix @@ -265,6 +265,44 @@ isoConfig mode = "0600"; }; + # WiFi connection setup service + systemd.services.workshop-wifi-setup = { + description = "Set up workshop WiFi connection"; + wantedBy = [ "multi-user.target" ]; + after = [ "NetworkManager.service" ]; + wants = [ "NetworkManager.service" ]; + path = with pkgs; [ + networkmanager + coreutils + gnugrep + ]; + script = '' + # Source credentials + source /etc/NetworkManager/workshop-wifi.env + + # Check if connection already exists + if nmcli connection show | grep -q "ziegel"; then + echo "✅ Workshop WiFi connection already exists" + exit 0 + fi + + echo "📡 Setting up workshop WiFi connection..." + # Create WiFi connection + if nmcli device wifi connect "$WORKSHOP_SSID" password "$WORKSHOP_PSK" hidden no; then + echo "✅ Workshop WiFi connection created and connected" + else + echo "⚠️ Could not connect to workshop WiFi (network may not be available)" + echo " SSID: $WORKSHOP_SSID" + echo " Manual connection: nmcli device wifi connect '$WORKSHOP_SSID' password '$WORKSHOP_PSK'" + fi + ''; + serviceConfig = { + Type = "oneshot"; + User = "root"; + RemainAfterExit = true; + }; + }; + # DNS Configuration - Wildcard *.workshop.local -> 127.0.0.1 services.dnsmasq = { enable = true;