{ config, lib, pkgs, inputs, ... }: with lib; let cfg = config.modules.networking.wireless; in { options.modules.networking.wireless = { enable = mkOption { default = false; example = true; description = mdDoc "Automatically connect to known networks"; }; interfaces = mkOption { default = [ ]; # All interfaces example = [ "wlan0" ]; description = mdDoc "Interfaces for `wpa_supplicant` to bind to"; }; }; config = mkIf cfg.enable { age.secrets."passwords/networks" = { file = "${inputs.secrets}/passwords/networks.age"; }; networking = { wireless = { enable = true; interfaces = cfg.interfaces; environmentFile = config.age.secrets.passwords/networks.path; networks = { "Apollo 600 Mbps".psk = "@PSK_APOLLO@"; }; }; }; }; }