nixos/networkmanager: drop default plugin list and toggle
It is unclear where this list originated, but it doesn't make sense to ship it with all networkmanager installations. The most excessive plugin is openconnect, that ships a 250 MB closure including webkitgtk. Instead users now have to specify the plugins they want explicitly. I updated the option to give hints on how to find them as best as I can.
This commit is contained in:
@@ -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}
|
||||
|
||||
<!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->
|
||||
|
||||
@@ -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 <https://search.nixos.org/packages?query=networkmanager-> for available plugin packages.
|
||||
and <https://networkmanager.dev/docs/vpn/> 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;
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user