-
-
Save worldofpeace/c1f6c14b890e687f459b92120c9fcd32 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
diff --git a/nixos/modules/services/networking/networkmanager.nix b/nixos/modules/services/networking/networkmanager.nix | |
index a137045834b..bcf36753471 100644 | |
--- a/nixos/modules/services/networking/networkmanager.nix | |
+++ b/nixos/modules/services/networking/networkmanager.nix | |
@@ -5,6 +5,12 @@ with lib; | |
let | |
cfg = config.networking.networkmanager; | |
+ basePackages = with pkgs; [ | |
+ networkmanager | |
+ modemmanager | |
+ crda | |
+ ] ++ optional (!delegateWireless) wpa_supplicant; | |
+ | |
dynamicHostsEnabled = | |
cfg.dynamicHosts.enable && cfg.dynamicHosts.hostsDirs != {}; | |
@@ -176,16 +182,13 @@ in { | |
''; | |
}; | |
- # Ugly hack for using the correct gnome3 packageSet | |
- basePackages = mkOption { | |
- type = types.attrsOf types.package; | |
- default = { inherit (pkgs) | |
- networkmanager modemmanager crda | |
- networkmanager-openvpn networkmanager-vpnc | |
- networkmanager-openconnect networkmanager-fortisslvpn | |
- networkmanager-l2tp networkmanager-iodine; } | |
- // optionalAttrs (!delegateWireless) { inherit (pkgs) wpa_supplicant; }; | |
+ useGnome = mkOption { | |
+ type = types.bool; | |
+ default = false; | |
internal = true; | |
+ description = '' | |
+ Whether to use the Gnome 3 package set of networkmanager plugins. | |
+ ''; | |
}; | |
packages = mkOption { | |
@@ -194,7 +197,7 @@ in { | |
description = '' | |
Extra packages that provide NetworkManager plugins. | |
''; | |
- apply = list: (attrValues cfg.basePackages) ++ list; | |
+ apply = list: basePackages ++ list; | |
}; | |
dhcp = mkOption { | |
@@ -395,7 +398,19 @@ in { | |
} | |
]; | |
- environment.etc = with cfg.basePackages; [ | |
+ nixpkgs.overlays = mkIf cfg.useGnome [ | |
+ (self: super: { | |
+ networkmanager-openvpn = self.gnome3.networkmanager-openvpn; | |
+ networkmanager-vpnc = self.gnome3.networkmanager-vpnc; | |
+ networkmanager-openconnect = self.gnome3.networkmanager-openconnect; | |
+ networkmanager-fortisslvpn = self.gnome3.networkmanager-fortisslvpn; | |
+ networkmanager-l2tp = self.gnome3-networkmanager-l2tp; | |
+ networkmanager-iodine = self.networkmanager-iodine; | |
+ networkmanagerapplet = self.gnome3.networkmanagerapplet; | |
+ }) | |
+ ]; | |
+ | |
+ environment.etc = with pkgs; [ | |
{ source = configFile; | |
target = "NetworkManager/NetworkManager.conf"; | |
} | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment