provision buildMachines from data file
1 file changed, 74 insertions(+), 0 deletions(-)
changed files
A data/default.nix
@@ -0,0 +1,74 @@ +let + homenet = "home.arpa"; + pubnet = "alin.ovh"; + tailnet = "fin-marlin.ts.net"; + + machines = { + r5 = { + publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHM1oPhD2wJA0MSQPqTBdjxWlNbZN0nOT9D9sxWJBFcS"; + domains = [ + homenet + tailnet + ]; + builder = { + system = "aarch64-linux"; + maxJobs = 4; + }; + }; + smrk = { + publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINU03etY1me+35aJ7DTJID60cHlvYx6lV8A6V+OiR7hr"; + domains = [ + tailnet + pubnet + ]; + builder = { + system = "x86_64-linux"; + }; + }; + buk = { + publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGHMu4LyHI2Kc3tC20lmBsVrofbebIR+y3wJ8EwUdjJV"; + domains = [ + pubnet + tailnet + ]; + builder = { + system = "x86_64-linux"; + maxJobs = 16; + speedFactor = 16; + supportedFeatures = [ + "big-parallel" + ]; + }; + }; + prefect = { + publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGmHQIaiJAz9EZwu0anojtj9lO4gXN2YtWqk37WAROKW"; + domains = [ + tailnet + homenet + ]; + builder = { + system = "x86_64-linux"; + maxJobs = 16; + speedFactor = 8; + supportedFeatures = [ + "nixos-test" + "kvm" + "big-parallel" + ]; + }; + }; + }; + + canon = hostname: map (d: "${hostname}.${d}"); +in +{ + inherit homenet pubnet tailnet; + + machines = builtins.mapAttrs ( + name: machine: + machine + // { + extraHostNames = canon name machine.domains; + } + ) machines; +}