{ config, nodes, ... }: let ssh-keys = import ../../common/ssh-keys.nix; in [ { hostName = "build01.aarch64.lix.systems"; maxJobs = 2; protocol = "ssh-ng"; sshKey = config.age.secrets.buildbot-remote-builder-key.path; sshUser = "nix"; systems = [ "aarch64-linux" ]; publicHostKey = ssh-keys.machines.build01-aarch64-lix; supportedFeatures = nodes.build01-aarch64-lix.config.nix.settings.system-features; } { hostName = "build02.aarch64.lix.systems"; maxJobs = 4; protocol = "ssh-ng"; sshKey = config.age.secrets.buildbot-remote-builder-key.path; sshUser = "nix"; systems = [ "aarch64-linux" ]; publicHostKey = ssh-keys.machines.build02-aarch64-lix; # TODO: use build02 features. supportedFeatures = nodes.build01-aarch64-lix.config.nix.settings.system-features; } { hostName = "build01.aarch64-darwin.lix.systems"; maxJobs = 2; protocol = "ssh-ng"; sshKey = config.age.secrets.buildbot-remote-builder-key.path; sshUser = "m1"; systems = [ "aarch64-darwin" "x86_64-darwin" ]; publicHostKey = ssh-keys.machines.build01-aarch64-darwin-lix; supportedFeatures = [ "big-parallel" ]; } # a.k.a. https://git.newtype.fr/newtype/newtype-org-configurations/src/branch/main/docs/epyc.md { hostName = "epyc.infra.newtype.fr"; # at 256G this could run 64 builds but the machine is shared # (and historically we used no more than 16 concurrent jobs) maxJobs = 16; protocol = "ssh-ng"; sshKey = config.age.secrets.buildbot-remote-builder-key.path; sshUser = "nix"; systems = [ "x86_64-linux" "i686-linux" ]; publicHostKey = ssh-keys.machines.epyc-newtype-fr; supportedFeatures = [ "benchmark" "big-parallel" "nixos-test" "kvm" ]; } ]