nix-dotfiles/nixosModules/services/networking/wireless/default.nix

32 lines
710 B
Nix
Raw Normal View History

2024-04-07 17:08:48 -07:00
{ config, pkgs, lib, ... }:
{
options = {
2024-11-07 14:59:12 -08:00
wireless = {
enable = lib.mkEnableOption "Enables wireless";
networks = lib.mkOption { default = {}; };
secretsFile = lib.mkOption {};
};
2024-04-07 17:08:48 -07:00
};
2024-04-09 00:00:42 -07:00
config = lib.mkIf config.wireless.enable {
2024-04-07 17:08:48 -07:00
networking.wireless = {
enable = true;
userControlled = {
enable = true;
group = "network";
};
2024-11-07 14:59:12 -08:00
secretsFile = config.wireless.secretsFile;
networks = let
ensurePasswords = networks: lib.attrsets.mapAttrs (
name: value: { pskRaw = "ext:psk_" + name; } // value
) networks;
in ensurePasswords config.wireless.networks;
2024-04-07 17:08:48 -07:00
};
networking.enableIPv6 = false;
};
}