79 lines
3.1 KiB
Nix
79 lines
3.1 KiB
Nix
{ config, lib, nodes, ... }:
|
|
{
|
|
nix = {
|
|
# Machines to build derviations on
|
|
buildMachines = with nodes; [
|
|
{
|
|
hostName = "midas";
|
|
system = midas.config.nixpkgs.hostPlatform.system;
|
|
supportedFeatures = midas.config.nix.settings.system-features;
|
|
publicHostKey = "c3NoLWVkMjU1MTkgQUFBQUMzTnphQzFsWkRJMU5URTVBQUFBSUZjRk12cng5L2lVWjFtRXViZitRRjFpM0xOVHhGaGFVLzF6RlNqZG8wa0sgcm9vdEBraXR0eQo=";
|
|
protocol = "ssh-ng";
|
|
sshKey = "/root/.ssh/buildkey";
|
|
maxJobs = 8;
|
|
}
|
|
{
|
|
hostName = "kitty";
|
|
system = kitty.config.nixpkgs.hostPlatform.system;
|
|
supportedFeatures = kitty.config.nix.settings.system-features;
|
|
publicHostKey = "c3NoLWVkMjU1MTkgQUFBQUMzTnphQzFsWkRJMU5URTVBQUFBSUlyR21zeWE1RFhLdVhPNmpOalVscllIcWs0OUtMenhNLzYwR1h0TFJMckwgcm9vdEBraXR0eQo=";
|
|
protocol = "ssh-ng";
|
|
sshKey = "/root/.ssh/buildkey";
|
|
maxJobs = 8;
|
|
}
|
|
{
|
|
hostName = "detritus";
|
|
system = detritus.config.nixpkgs.hostPlatform.system;
|
|
supportedFeatures = detritus.config.nix.settings.system-features;
|
|
publicHostKey = "c3NoLWVkMjU1MTkgQUFBQUMzTnphQzFsWkRJMU5URTVBQUFBSU4rR3ZMcm80RFZtbHZtWGNhc1UxZ2N0SVg5cWN0N21adEVscEI3MzVBb0wgcm9vdEBkZXRyaXR1cwo=";
|
|
protocol = "ssh-ng";
|
|
sshKey = "/root/.ssh/buildkey";
|
|
maxJobs = 8;
|
|
}
|
|
{
|
|
hostName = "elder";
|
|
system = elder.config.nixpkgs.hostPlatform.system;
|
|
supportedFeatures = elder.config.nix.settings.system-features;
|
|
publicHostKey = "c3NoLWVkMjU1MTkgQUFBQUMzTnphQzFsWkRJMU5URTVBQUFBSUZqbUo2Ymt1TzU3Z3A2R1pERWZSMU83a3JkZjV3aXFyT0JDNXB6VERsOTEgcm9vdEBlbGRlcgo=";
|
|
protocol = "ssh-ng";
|
|
sshKey = "/root/.ssh/buildkey";
|
|
maxJobs = 8;
|
|
}
|
|
{
|
|
hostName = "prophet";
|
|
system = prophet.config.nixpkgs.hostPlatform.system;
|
|
supportedFeatures = prophet.config.nix.settings.system-features;
|
|
publicHostKey = "c3NoLWVkMjU1MTkgQUFBQUMzTnphQzFsWkRJMU5URTVBQUFBSUNycDNZL1gyQlJVRU54KzBHTVRtQjFWREE2U2l3a0dnZEpNSFNkTU1lcE0gcm9vdEBwcm9waGV0Cg==";
|
|
protocol = "ssh-ng";
|
|
sshKey = "/root/.ssh/buildkey";
|
|
maxJobs = 8;
|
|
}
|
|
];
|
|
|
|
# Enable distributed builds
|
|
distributedBuilds = true;
|
|
|
|
settings = {
|
|
# Serve derivations more efficiently, using substituters
|
|
substituters = [
|
|
"ssh-ng://midas"
|
|
"ssh-ng://kitty"
|
|
"ssh-ng://detritus"
|
|
"ssh-ng://elder"
|
|
"ssh-ng://prophet"
|
|
];
|
|
trusted-public-keys = [
|
|
"midas:YpyfZyVlTlPjzcVsYBnN13EgeK95y1WXxm9h1V8tM7E="
|
|
"kitty:QLl9Do4v+2Q/fapozUGoXIKJul+Zck3yAsmAo9Lg4is="
|
|
"detritus:xtQVaIyDIBWS+EAU11dBsW9BUMT7aAZRPjKp3Udgdvc="
|
|
"elder:U+zIEvxNeqOxAWbZyrJzDNrJF1GJdcrLEYbIqmKGd7U="
|
|
"prophet:NPlWmuX1vz95uUIddQXlwrkmdSMZW1U27CdEY812brg="
|
|
];
|
|
|
|
# Settings to sign the derivations and allow building
|
|
max-jobs = if builtins.elem "server" config.system.nixos.tags then "auto" else 0;
|
|
secret-key-files = "/var/lib/nixos/cache-priv-key.pem";
|
|
trusted-users = [ "root" ];
|
|
};
|
|
};
|
|
}
|