diff --git a/modules/nixos/networking/networkmanager.nix b/modules/nixos/networking/networkmanager.nix new file mode 100644 index 0000000..6dc1b53 --- /dev/null +++ b/modules/nixos/networking/networkmanager.nix @@ -0,0 +1,32 @@ +{ config, lib, ... }: +let + inherit (lib) + mkEnableOption + mkForce + mkIf + mkOption + ; + inherit (lib.types) listOf package; + cfg = config.ataraxia.networkmanager; +in +{ + options.ataraxia.networkmanager = { + enable = mkEnableOption "Enable NetworkManager"; + plugins = mkOption { + type = listOf package; + default = [ ]; + description = '' + List of NetworkManager plug-ins to enable. + ''; + }; + }; + + config = mkIf cfg.enable { + networking.networkmanager.enable = mkForce true; + networking.networkmanager.plugins = mkForce cfg.plugins; + + persist.state.directories = [ + "/etc/NetworkManager/system-connections" + ]; + }; +}