From 4a06b455b97c196ddaffa7d0688e27b024f57a1a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Felix=20Schr=C3=B6ter?= Date: Wed, 27 Aug 2025 16:14:11 +0200 Subject: [PATCH] feat(networking): add wifi-auto-toggle dispatcher script --- system/networking.nix | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/system/networking.nix b/system/networking.nix index 8925b76..edd1a18 100644 --- a/system/networking.nix +++ b/system/networking.nix @@ -121,6 +121,27 @@ in ]; networking.networkmanager.dispatcherScripts = [ + { + source = pkgs.writeShellScript "wifi-auto-toggle" '' + LOG_PREFIX="WiFi Auto-Toggle" + + if [[ "$1" =~ ^(enp|eth) ]]; then + case "$2" in + up) + echo "$LOG_PREFIX ethernet up" + ${pkgs.networkmanager}/bin/nmcli radio wifi off + ;; + down) + echo "$LOG_PREFIX ethernet down" + ${pkgs.networkmanager}/bin/nmcli radio wifi on + ;; + esac + elif [[ "$(${pkgs.networkmanager}/bin/nmcli -g GENERAL.STATE device show $ETHERNET_INTERFACE)" = "20 (unavailable)" ]]; then + echo "$LOG_PREFIX failsafe" + ${pkgs.networkmanager}/bin/nmcli radio wifi on + fi + ''; + } { source = pkgs.writeShellScript "connect-ice" '' ACTION="$2"