about summary refs log tree commit diff
path: root/nixos/modules
diff options
context:
space:
mode:
authorJan Tojnar <jtojnar@gmail.com>2019-11-06 18:54:56 +0100
committerJan Tojnar <jtojnar@gmail.com>2019-11-06 21:26:03 +0100
commit894fdfaf1fbcdd9e584ca655a2229f62d9d7c830 (patch)
tree91ff114b404387260ca8836394dd84eccabd0714 /nixos/modules
parent7827d3f4497ed722fedca57fd4d5ca1a65c38256 (diff)
downloadnixlib-894fdfaf1fbcdd9e584ca655a2229f62d9d7c830.tar
nixlib-894fdfaf1fbcdd9e584ca655a2229f62d9d7c830.tar.gz
nixlib-894fdfaf1fbcdd9e584ca655a2229f62d9d7c830.tar.bz2
nixlib-894fdfaf1fbcdd9e584ca655a2229f62d9d7c830.tar.lz
nixlib-894fdfaf1fbcdd9e584ca655a2229f62d9d7c830.tar.xz
nixlib-894fdfaf1fbcdd9e584ca655a2229f62d9d7c830.tar.zst
nixlib-894fdfaf1fbcdd9e584ca655a2229f62d9d7c830.zip
nixos/networkmanager: fix merging options
Incorrect merging of modules resulted in dhcpcd being enabled causing flaky network connection.

https://github.com/NixOS/nixpkgs/pull/64364

Fixing it uncovered an infinite recursion from the same commit, previously masked by the incorrect merge.

We can just drop the `mkDefault` for `networking.wireless.enable` as it is already `false` by default.

Closes: https://github.com/NixOS/nixpkgs/issues/72416
Diffstat (limited to 'nixos/modules')
-rw-r--r--nixos/modules/services/networking/networkmanager.nix22
1 files changed, 13 insertions, 9 deletions
diff --git a/nixos/modules/services/networking/networkmanager.nix b/nixos/modules/services/networking/networkmanager.nix
index 918bf891b103..90d1032c41b4 100644
--- a/nixos/modules/services/networking/networkmanager.nix
+++ b/nixos/modules/services/networking/networkmanager.nix
@@ -456,15 +456,19 @@ in {
     };
 
     # Turn off NixOS' network management when networking is managed entirely by NetworkManager
-    networking = (mkIf (!delegateWireless) {
-      useDHCP = false;
-      # Use mkDefault to trigger the assertion about the conflict above
-      wireless.enable = mkDefault false;
-    }) // (mkIf cfg.enableStrongSwan {
-      networkmanager.packages = [ pkgs.networkmanager_strongswan ];
-    }) // (mkIf enableIwd {
-      wireless.iwd.enable = true;
-    });
+    networking = mkMerge [
+      (mkIf (!delegateWireless) {
+        useDHCP = false;
+      })
+
+      (mkIf cfg.enableStrongSwan {
+        networkmanager.packages = [ pkgs.networkmanager_strongswan ];
+      })
+
+      (mkIf enableIwd {
+        wireless.iwd.enable = true;
+      })
+    ];
 
     security.polkit.extraConfig = polkitConf;