2024-08-21 21:37:19 +02:00
|
|
|
{ config, lib, ... }: {
|
2024-05-11 16:02:39 +02:00
|
|
|
nix.buildMachines = [
|
|
|
|
{
|
|
|
|
hostName = "localhost";
|
2024-08-21 21:37:19 +02:00
|
|
|
protocol = null;
|
|
|
|
maxJobs = 0;
|
|
|
|
speedFactor = 0;
|
2024-05-13 12:17:37 +02:00
|
|
|
systems = [ "x86_64-linux" ];
|
2024-07-22 14:54:47 +02:00
|
|
|
supportedFeatures = [ "nixos-test" "benchmark" "big-parallel" "kvm" ];
|
2024-05-11 16:02:39 +02:00
|
|
|
}
|
|
|
|
{
|
|
|
|
hostName = "integra.kyouma.net";
|
|
|
|
sshUser = "build";
|
2024-08-01 15:33:55 +02:00
|
|
|
maxJobs = 2;
|
|
|
|
speedFactor = 4;
|
2024-05-13 12:17:37 +02:00
|
|
|
systems = [ "aarch64-linux" ];
|
2024-05-11 16:02:39 +02:00
|
|
|
supportedFeatures = [ "nixos-test" "benchmark" "big-parallel" "kvm" ];
|
2024-05-14 14:17:53 +02:00
|
|
|
sshKey = config.sops.secrets."services/hydra/id_ed25519_hydra".path;
|
2024-05-11 16:02:39 +02:00
|
|
|
}
|
2024-08-21 21:37:19 +02:00
|
|
|
] ++ lib.forEach [ "03" "04" ] (num: {
|
|
|
|
hostName = "build-worker-${num}.nyantec.com";
|
2024-07-23 14:13:39 +02:00
|
|
|
sshUser = "nix-ssh";
|
2024-08-07 11:17:45 +02:00
|
|
|
maxJobs = 4;
|
2024-07-23 18:31:15 +02:00
|
|
|
speedFactor = 18;
|
2024-07-26 17:50:32 +02:00
|
|
|
systems = [ "x86_64-linux" "riscv64-linux" ];
|
|
|
|
supportedFeatures = [ "nixos-test" "benchmark" "big-parallel" "kvm" "gccarch-x86-64" "gccarch-x86-64-v2" "gccarch-x86-64-v3" ];
|
2024-07-23 14:13:39 +02:00
|
|
|
sshKey = config.sops.secrets."services/hydra/id_ed25519_hydra".path;
|
|
|
|
}
|
2024-09-03 14:27:57 +02:00
|
|
|
) ++ lib.forEach [ "01" "02" "05" "06" ] (num: {
|
2024-08-21 21:37:19 +02:00
|
|
|
hostName = "build-worker-${num}";
|
|
|
|
sshUser = "root";
|
2024-09-03 14:27:57 +02:00
|
|
|
maxJobs = 4;
|
2024-08-21 21:37:19 +02:00
|
|
|
speedFactor = 20;
|
|
|
|
systems = [ "x86_64-linux" ];
|
2024-09-03 14:27:57 +02:00
|
|
|
supportedFeatures = [ "nixos-test" "benchmark" "big-parallel" "gccarch-x86-64" "gccarch-x86-64-v2" "gccarch-x86-64-v3" ];
|
2024-07-23 14:13:39 +02:00
|
|
|
sshKey = config.sops.secrets."services/hydra/id_ed25519_hydra".path;
|
2024-08-21 21:37:19 +02:00
|
|
|
});
|
2024-05-11 16:02:39 +02:00
|
|
|
nix.settings = {
|
|
|
|
allowed-uris = [
|
|
|
|
"github:"
|
|
|
|
"git+https://"
|
|
|
|
"git+ssh://"
|
2024-05-12 19:54:39 +02:00
|
|
|
"https://"
|
2024-05-11 16:02:39 +02:00
|
|
|
];
|
|
|
|
};
|
2024-05-14 14:17:53 +02:00
|
|
|
users.users.hydra-queue-runner.openssh.authorizedKeys.keys = [
|
|
|
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIE/vCXM3IaxJP9v2Y+xcQrQD2IcffgdzqtWhpMjj9Xl5 hydra@seras"
|
|
|
|
];
|
2024-05-11 16:02:39 +02:00
|
|
|
programs.ssh = {
|
2024-08-21 21:37:19 +02:00
|
|
|
knownHosts = {
|
|
|
|
"build-worker-03.nyantec.com".publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEGqTY74c5g15DSNPNM2Wdr5jAwS7BFgX1XRnhtGOnJc";
|
|
|
|
"build-worker-04.nyantec.com".publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICOq+5I+nlAN2lJoOtoXrYEDuZ/TMPMa43pIlablYigK";
|
|
|
|
"integra.kyouma.net".publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIBwEQiSfaDrUAwgul4mktusBPcIVxI4pLNDh9DPopVU";
|
|
|
|
"localhost".publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPNVavo3YHVsrYwXRVISu7kDoknn+5inFGySn4azlB8P";
|
|
|
|
"[build-worker-kyoumanet.fly.dev]:2201".publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDL2M97UBHg9aUfjDUxzmzg1r0ga0m3/stummBVwuEAB";
|
|
|
|
"[build-worker-kyoumanet.fly.dev]:2202".publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOTwVKL0P0chPM2Gz23rbT94844+w1CGJdCaZdzfjThz";
|
|
|
|
"[build-worker-kyoumanet.fly.dev]:2203".publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAjy2eZGJQeAYy0+fLgW9jiS0jVY2LInY0NDMnzCvvKp";
|
|
|
|
"[build-worker-kyoumanet.fly.dev]:2204".publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIN72OyD9LYy4hq0WZ7ie5RPV+G54UreEJiA/RubjGoe9";
|
|
|
|
};
|
|
|
|
extraConfig = ''
|
|
|
|
Host build-worker-01
|
|
|
|
Hostname build-worker-kyoumanet.fly.dev
|
|
|
|
Port 2201
|
|
|
|
Host build-worker-02
|
|
|
|
Hostname build-worker-kyoumanet.fly.dev
|
|
|
|
Port 2202
|
2024-09-03 14:27:57 +02:00
|
|
|
Host build-worker-05
|
2024-08-21 21:37:19 +02:00
|
|
|
Hostname build-worker-kyoumanet.fly.dev
|
|
|
|
Port 2203
|
2024-09-03 14:27:57 +02:00
|
|
|
Host build-worker-06
|
2024-08-21 21:37:19 +02:00
|
|
|
Hostname build-worker-kyoumanet.fly.dev
|
|
|
|
Port 2204
|
|
|
|
'';
|
2024-05-11 16:02:39 +02:00
|
|
|
};
|
|
|
|
}
|