let homenet = "home.arpa"; pubnet = "alin.ovh"; 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 pubnet ]; builder = { system = "x86_64-linux"; }; }; prefect = { publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGmHQIaiJAz9EZwu0anojtj9lO4gXN2YtWqk37WAROKW"; 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; }