From 67102b0967968d37476a066e08f6997c7cc70ce9 Mon Sep 17 00:00:00 2001 From: Simon Gardling Date: Mon, 29 Dec 2025 15:28:04 -0500 Subject: [PATCH] wifi: move to ensureProfiles --- system/common.nix | 1 - system/declarative-nm.nix | 51 ------------------------------ system/networking.nix | 4 +-- system/secrets/wifi-passwords.nix | Bin 947 -> 2842 bytes 4 files changed, 2 insertions(+), 54 deletions(-) delete mode 100644 system/declarative-nm.nix diff --git a/system/common.nix b/system/common.nix index 5a9db90..aa67120 100644 --- a/system/common.nix +++ b/system/common.nix @@ -11,7 +11,6 @@ }: { imports = [ - ./declarative-nm.nix # ./vm.nix ./steam.nix ./networking.nix diff --git a/system/declarative-nm.nix b/system/declarative-nm.nix deleted file mode 100644 index c011896..0000000 --- a/system/declarative-nm.nix +++ /dev/null @@ -1,51 +0,0 @@ -{ - config, - lib, - pkgs, - ... -}: -# from: https://discourse.nixos.org/t/imperative-declarative-wifi-networks-with-wpa-supplicant/12394/6 -let - cfg = config.networking.networkmanager; - - getFileName = lib.stringAsChars (x: if x == " " then "-" else x); - - createWifi = ssid: opt: { - name = "NetworkManager/system-connections/${getFileName ssid}.nmconnection"; - value = { - mode = "0400"; - source = pkgs.writeText "${ssid}.nmconnection" '' - [connection] - id=${ssid} - type=wifi - - [wifi] - ssid=${ssid} - - [wifi-security] - ${lib.optionalString (opt.psk != null) '' - key-mgmt=wpa-psk - psk=${opt.psk}''} - ''; - }; - }; - - keyFiles = lib.mapAttrs' createWifi config.networking.wireless.networks; -in -{ - config = lib.mkIf cfg.enable { - environment.etc = keyFiles; - - systemd.services.NetworkManager-predefined-connections = { - restartTriggers = lib.mapAttrsToList (name: value: value.source) keyFiles; - serviceConfig = { - Type = "oneshot"; - RemainAfterExit = true; - ExecStart = "${pkgs.coreutils}/bin/true"; - ExecReload = "${pkgs.networkmanager}/bin/nmcli connection reload"; - }; - reloadIfChanged = true; - wantedBy = [ "multi-user.target" ]; - }; - }; -} diff --git a/system/networking.nix b/system/networking.nix index 976aaa9..b47530e 100644 --- a/system/networking.nix +++ b/system/networking.nix @@ -19,8 +19,8 @@ # fix suspend issue powersave = false; }; - }; - wireless.networks = import ./secrets/wifi-passwords.nix; + ensureProfiles.profiles = import ./secrets/wifi-passwords.nix; + }; }; } diff --git a/system/secrets/wifi-passwords.nix b/system/secrets/wifi-passwords.nix index 42d15a52b24a027788a0de7c027940b3731b2300..f00fd26ea8875614babb85d1179a5b91d782eb2e 100644 GIT binary patch literal 2842 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 literal 947 zcmZQ@_Y83kiVO&0xLDpOd+4&JyY1Qrjk<6R+0!qWh1Ao+?wvX6epT%5?O(5!FXCRN z<-42vM#QGP^J20$&bI3$L>0)3{F#z;GjAu`KL@QP4=bjw)o|`{lUiJ5AlMSSj(;1s z&c91XdR|m#ywb{%{;9=zS28+!_0QnjhjiB;H+aJGT&pndtj{mykJ-o5dJ2BEEL!m9 z|A~J8ly`!Q%MY80?pV%zbH^IlZI}MfblPZj;*)Dp{@>gdq0PLFyB56DS;4xLIem`N z%QqbwT+3G9F6S3Iq$P8gU&*IIu34$)M9rUf<_G=%f82HJ*rwn91s|FVD%yCRDobqbTh)E>{;rN;l7$+Y9ZvPJ$28u-h)z>$TV^iszyE~bFYUEoO;jb% zt(#*y!=dNR|7Vp_yX?GqKFCaFa;VGk(rhnaHK z`dX%UXO!}NI)6cP^VYY1x=Zi;_J1SkqtWpBy{p^Cf0JY07(f5x(kvQt_ML{&(?`$c z)e{OOT&^?87BA*gN#>tt;`@6>#u-id__W4c%gK!YW3viQZH@Zzb^Vd3jogvN$?KoI zKd{VThs4{d77@CCYdP{e{`-`@)8n!{a=Tn%HzSjkj-&UAh4Lock0RsjT<-1t_cUpJ z)?