diff --git a/nix/nixos-module/container/bird.nix b/nix/nixos-module/container/bird.nix index 9cda861..5aeb76c 100644 --- a/nix/nixos-module/container/bird.nix +++ b/nix/nixos-module/container/bird.nix @@ -35,29 +35,31 @@ in protocol kernel K4 { learn; ipv4 { - ${lib.optionalString (!isUpstream) '' - export all; - ''} - ${lib.optionalString isUpstream '' - # Do not set another default route on upstreams - export where net != 0.0.0.0/0; - # Learn the upstream default route - import where net = 0.0.0.0/0; - ''} + ${if isUpstream + then '' + # Install all routes but the default route on upstreams + export where net != 0.0.0.0/0; + # Learn the upstream default route + import where net = 0.0.0.0/0; + '' + else '' + export all; + ''} }; } protocol kernel K6 { learn; ipv6 { - ${lib.optionalString (!isUpstream) '' - export all; - ''} - ${lib.optionalString isUpstream '' - # Do not set another default route on upstreams - export where net != ::/0; - # Learn the upstream default route - import where net = ::/0; - ''} + ${if isUpstream + then '' + # Install all routes but the default route on upstreams + export where net != ::/0; + # Learn the upstream default route + import where net = ::/0; + '' + else '' + export all; + ''} }; } protocol device {