37 lines
875 B
Nix
37 lines
875 B
Nix
{ 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@";
|
|
};
|
|
};
|
|
};
|
|
};
|
|
}
|