Move service to automatic since it has a separate purpose. Refactor the default.nix code to include service.nix files so it is easier to extend code.
29 lines
683 B
Nix
29 lines
683 B
Nix
{ config, lib, ... }:
|
|
|
|
{
|
|
options.wireless = {
|
|
enable = lib.mkEnableOption "Enables wireless";
|
|
networks = lib.mkOption { default = {}; };
|
|
secretsFile = lib.mkOption {};
|
|
};
|
|
|
|
config = lib.mkIf config.wireless.enable {
|
|
networking.wireless = {
|
|
enable = true;
|
|
userControlled = {
|
|
enable = true;
|
|
group = "network";
|
|
};
|
|
|
|
secretsFile = config.wireless.secretsFile;
|
|
|
|
networks = let
|
|
ensurePasswords = networks: lib.attrsets.mapAttrs (
|
|
name: value: { pskRaw = "ext:psk_" + name; } // value
|
|
) networks;
|
|
in ensurePasswords config.wireless.networks;
|
|
};
|
|
|
|
networking.enableIPv6 = false;
|
|
};
|
|
}
|