diff --git a/nixos/doc/manual/release-notes/rl-2511.section.md b/nixos/doc/manual/release-notes/rl-2511.section.md index 1d3c230e682d..9588ee334a50 100644 --- a/nixos/doc/manual/release-notes/rl-2511.section.md +++ b/nixos/doc/manual/release-notes/rl-2511.section.md @@ -10,6 +10,8 @@ - The default PostgreSQL version for new NixOS installations (i.e. with `system.stateVersion >= 25.11`) is v17. +- The NetworkManager module does not ship with a default set of VPN plugins anymore. All required VPN plugins must now be explicitly configured in [`networking.networkmanager.plugins`](#opt-networking.networkmanager.plugins). + ## New Modules {#sec-release-25.11-new-modules} diff --git a/nixos/modules/services/networking/networkmanager.nix b/nixos/modules/services/networking/networkmanager.nix index 4200792bfa9b..2dfe39127cc8 100644 --- a/nixos/modules/services/networking/networkmanager.nix +++ b/nixos/modules/services/networking/networkmanager.nix @@ -225,30 +225,37 @@ in type = let networkManagerPluginPackage = types.package // { - description = "NetworkManager plug-in"; + description = "NetworkManager plugin package"; check = p: lib.assertMsg (types.package.check p && p ? networkManagerPlugin && lib.isString p.networkManagerPlugin) '' - Package ‘${p.name}’, is not a NetworkManager plug-in. + Package ‘${p.name}’, is not a NetworkManager plugin. Those need to have a ‘networkManagerPlugin’ attribute. ''; }; in types.listOf networkManagerPluginPackage; default = [ ]; - description = '' - List of NetworkManager plug-ins to enable. - Some plug-ins are enabled by the NetworkManager module by default. + example = literalExpression '' + [ + networkmanager-fortisslvpn + networkmanager-iodine + networkmanager-l2tp + networkmanager-openconnect + networkmanager-openvpn + networkmanager-sstp + networkmanager-strongswan + networkmanager-vpnc + ] ''; - }; - - enableDefaultPlugins = mkOption { - type = types.bool; - default = true; description = '' - Enable a set of recommended plugins. + List of plugin packages to install. + + See for available plugin packages. + and for an overview over builtin and external plugins + and their support status. ''; }; @@ -520,6 +527,11 @@ in "networkmanager" "enableStrongSwan" ] "Pass `pkgs.networkmanager_strongswan` into `networking.networkmanager.plugins` instead.") + (mkRemovedOptionModule [ + "networking" + "networkmanager" + "enableDefaultPlugins" + ] "Configure the required plugins explicitly in `networking.networkmanager.plugins`.") ]; ###### implementation @@ -663,18 +675,6 @@ in useDHCP = false; }) - (mkIf cfg.enableDefaultPlugins { - networkmanager.plugins = with pkgs; [ - networkmanager-fortisslvpn - networkmanager-iodine - networkmanager-l2tp - networkmanager-openconnect - networkmanager-openvpn - networkmanager-vpnc - networkmanager-sstp - ]; - }) - (mkIf enableIwd { wireless.iwd.enable = true; })