networkd: fix setting both defaultGateway{,6}

wip/yesman
Robin Gloster 7 years ago
parent 54c15923c2
commit 6b8ad8b581
No known key found for this signature in database
GPG Key ID: 5E4C836C632C2882
  1. 19
      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;

Loading…
Cancel
Save