diff options
author | Robin Gloster <mail@glob.in> | 2017-03-25 13:54:57 +0100 |
---|---|---|
committer | Robin Gloster <mail@glob.in> | 2017-03-25 14:30:05 +0100 |
commit | 6b8ad8b581576d45996a17822e80e6be281dffd9 (patch) | |
tree | a9b7697f9093710aa67548a778339b87e8918877 /nixos | |
parent | 54c15923c26079cfff49f9dcbdfe4975ebeee1fb (diff) | |
download | nixlib-6b8ad8b581576d45996a17822e80e6be281dffd9.tar nixlib-6b8ad8b581576d45996a17822e80e6be281dffd9.tar.gz nixlib-6b8ad8b581576d45996a17822e80e6be281dffd9.tar.bz2 nixlib-6b8ad8b581576d45996a17822e80e6be281dffd9.tar.lz nixlib-6b8ad8b581576d45996a17822e80e6be281dffd9.tar.xz nixlib-6b8ad8b581576d45996a17822e80e6be281dffd9.tar.zst nixlib-6b8ad8b581576d45996a17822e80e6be281dffd9.zip |
networkd: fix setting both defaultGateway{,6}
Diffstat (limited to 'nixos')
-rw-r--r-- | nixos/modules/tasks/network-interfaces-systemd.nix | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/nixos/modules/tasks/network-interfaces-systemd.nix b/nixos/modules/tasks/network-interfaces-systemd.nix index 8b85ff0057f9..a365a01bfb1e 100644 --- a/nixos/modules/tasks/network-interfaces-systemd.nix +++ b/nixos/modules/tasks/network-interfaces-systemd.nix @@ -59,15 +59,16 @@ in systemd.network = let domains = cfg.search ++ (optional (cfg.domain != null) cfg.domain); - genericNetwork = override: { - DHCP = override (dhcpStr cfg.useDHCP); - } // optionalAttrs (cfg.defaultGateway != null) { - gateway = override [ cfg.defaultGateway.address ]; - } // optionalAttrs (cfg.defaultGateway6 != null) { - gateway = override [ cfg.defaultGateway6.address ]; - } // optionalAttrs (domains != [ ]) { - domains = override domains; - }; + genericNetwork = override: + let gateway = optional (cfg.defaultGateway != null) cfg.defaultGateway.address + ++ optional (cfg.defaultGateway6 != null) cfg.defaultGateway6.address; + in { + DHCP = override (dhcpStr cfg.useDHCP); + } // optionalAttrs (gateway != [ ]) { + gateway = override gateway; + } // optionalAttrs (domains != [ ]) { + domains = override domains; + }; in mkMerge [ { enable = true; networks."99-main" = genericNetwork mkDefault; |