{ lib, config, ... }: { imports = with lib.nixosModules; [secrets]; sops = { secrets = { home-ssid.sopsFile = lib.secrets.network-manager; home-psk.sopsFile = lib.secrets.network-manager; }; templates.network-manager.content = '' home_ssid="${config.sops.placeholder.home-ssid}" home_psk="${config.sops.placeholder.home-psk}" ''; }; networking = { networkmanager = { enable = true; ensureProfiles = { profiles.home = { connection = { id = "home"; type = "wifi"; }; ipv4 = { method = "manual"; gateway = "192.168.0.1"; dns = "192.168.0.1"; }; wifi = { ssid = "$home_ssid"; mode = "infrastructure"; }; wifi-security = { auth-alg = "open"; key-mgmt = "wpa-psk"; psk = "$home_psk"; }; }; environmentFiles = [config.sops.templates.network-manager.path]; }; }; }; }