nix/module/RemoteBuild.nix

30 lines
800 B
Nix
Raw Normal View History

# Module that enables remote builds. This is a client configuration.
{ lib, secret, ... }: {
# NOTE: Requires host private key to be present in secret.ssh.builderKeys.
2024-03-09 18:38:41 +03:00
nix.buildMachines = [{
2024-04-27 00:24:28 +03:00
hostName = "nixbuilder";
2024-03-09 18:38:41 +03:00
protocol = "ssh-ng";
2024-03-09 20:29:19 +03:00
systems = [
"x86_64-linux"
"i686-linux"
"aarch64-linux"
];
2024-03-09 18:38:41 +03:00
maxJobs = 1;
speedFactor = 2;
mandatoryFeatures = [ ];
2024-03-09 20:21:34 +03:00
supportedFeatures = [ "nixos-test" "benchmark" "big-parallel" "kvm" ];
2024-03-09 18:38:41 +03:00
}];
nix.distributedBuilds = true;
nix.settings = let
substituters = [ "ssh-ng://nixbuilder" ];
in {
substituters = lib.mkForce substituters;
trusted-substituters = substituters;
builders-use-substitutes = true;
max-jobs = 0;
trusted-public-keys = [ secret.ssh.builderKey ];
# require-sigs = false;
# substitute = false;
};
2024-03-09 18:38:41 +03:00
}