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:31:06 +0100 |
commit | c2ad3e4f70d6fd604e9dc099aacaba9ea53554fa (patch) | |
tree | a540960c791066520b5d80a4771bb9ce3542cbdb /nixos | |
parent | 0e494727a7510b92116fef6ff98aefd3cbbef343 (diff) |
networkd: fix setting both defaultGateway{,6}
(cherry picked from commit 6b8ad8b581576d45996a17822e80e6be281dffd9)
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 8b85ff0057f97..a365a01bfb1ed 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; |