let homenet = "home.arpa"; pubnet = "alin.ovh"; pubnethosts = "hosts.${pubnet}"; tailnet = "fin-marlin.ts.net"; ulaPrefix = "fd12:d04f:65d"; machines = { r5 = { publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHM1oPhD2wJA0MSQPqTBdjxWlNbZN0nOT9D9sxWJBFcS"; domains = [ homenet tailnet ]; builder = { system = "aarch64-linux"; maxJobs = 4; }; }; hasel = { publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIaV14RWED5RhN5XIDhdV48d0OIw7eFf1t5eSIiCZ68D"; domains = [ tailnet pubnethosts ]; aliases = [ "git.${pubnet}" ]; builder = { system = "x86_64-linux"; }; }; ulme = { publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINnjmkEFf/eZ4o1YmawRK8KoPcL8c+4cf05NZFwNEWRM"; domains = [ tailnet pubnethosts ]; builder = { system = "x86_64-linux"; }; }; prefect = { publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIOYKUAEWDEFVf0r3V3Brmj5Coko+eB6acXOryvzq10t"; domains = [ tailnet homenet ]; }; }; canon = hostname: map (d: "${hostname}.${d}"); in { inherit homenet pubnet tailnet ulaPrefix ; machines = builtins.mapAttrs ( name: machine: machine // { extraHostNames = canon name machine.domains; } ) machines; dnsProviders = { quad9 = { hostname = "dns.quad9.net"; addresses = [ "2620:fe::fe" "2620:fe::9" "9.9.9.9" "149.112.112.112" ]; }; dnssb = { hostname = "dot.sb"; addresses = [ "2a09::" "2a11::" "45.11.45.11" "185.222.222.222" ]; }; }; }