networkd: fix setting both defaultGateway{,6}

This commit is contained in:
Robin Gloster 2017-03-25 13:54:57 +01:00
parent 54c15923c2
commit 6b8ad8b581
No known key found for this signature in database
GPG Key ID: 5E4C836C632C2882

View File

@ -59,15 +59,16 @@ in
systemd.network = systemd.network =
let let
domains = cfg.search ++ (optional (cfg.domain != null) cfg.domain); domains = cfg.search ++ (optional (cfg.domain != null) cfg.domain);
genericNetwork = override: { genericNetwork = override:
DHCP = override (dhcpStr cfg.useDHCP); let gateway = optional (cfg.defaultGateway != null) cfg.defaultGateway.address
} // optionalAttrs (cfg.defaultGateway != null) { ++ optional (cfg.defaultGateway6 != null) cfg.defaultGateway6.address;
gateway = override [ cfg.defaultGateway.address ]; in {
} // optionalAttrs (cfg.defaultGateway6 != null) { DHCP = override (dhcpStr cfg.useDHCP);
gateway = override [ cfg.defaultGateway6.address ]; } // optionalAttrs (gateway != [ ]) {
} // optionalAttrs (domains != [ ]) { gateway = override gateway;
domains = override domains; } // optionalAttrs (domains != [ ]) {
}; domains = override domains;
};
in mkMerge [ { in mkMerge [ {
enable = true; enable = true;
networks."99-main" = genericNetwork mkDefault; networks."99-main" = genericNetwork mkDefault;