Jack O'Sullivan
9fa8299b71
All checks were successful
CI / Check, build and cache Nix flake (push) Successful in 17m45s
29 lines
734 B
Nix
29 lines
734 B
Nix
index: { lib, pkgs, ... }:
|
|
let
|
|
inherit (lib) mkForce concatMapStringsSep;
|
|
inherit (lib.my) net;
|
|
inherit (lib.my.c.home) domain prefixes;
|
|
|
|
mkInterface = name: ''
|
|
interface lan-${name} {
|
|
AdvSendAdvert on;
|
|
AdvRASrcAddress { fe80::1; };
|
|
AdvLinkMTU ${toString prefixes."${name}".mtu};
|
|
prefix ${prefixes."${name}".v6} {};
|
|
RDNSS ${net.cidr.host 1 prefixes."${name}".v6} ${net.cidr.host 2 prefixes."${name}".v6} {};
|
|
DNSSL ${domain} dyn.${domain} {};
|
|
};
|
|
'';
|
|
in
|
|
{
|
|
# To be started by keepalived
|
|
systemd.services.radvd.wantedBy = mkForce [ ];
|
|
|
|
services = {
|
|
radvd = {
|
|
enable = true;
|
|
config = concatMapStringsSep "\n" mkInterface [ "hi" "lo" "untrusted" ];
|
|
};
|
|
};
|
|
}
|