From 6b8ad8b581576d45996a17822e80e6be281dffd9 Mon Sep 17 00:00:00 2001 From: Robin Gloster <mail@glob.in> Date: Sat, 25 Mar 2017 13:54:57 +0100 Subject: [PATCH] networkd: fix setting both defaultGateway{,6} --- .../tasks/network-interfaces-systemd.nix | 19 ++++++++++--------- 1 file 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;