54 lines
1.1 KiB
Nix
54 lines
1.1 KiB
Nix
{ config, lib, ... }:
|
|
with lib;
|
|
{
|
|
options = {
|
|
buildConsumer = {
|
|
enable = mkEnableOption "Use remote build machines";
|
|
};
|
|
};
|
|
|
|
config = mkIf config.buildConsumer.enable {
|
|
programs.ssh.knownHosts = {
|
|
pcake = {
|
|
hostNames = [
|
|
"pcake"
|
|
"pcake.tapenet.org"
|
|
"10.6.0.202"
|
|
];
|
|
publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHgqVw3QWNG6Ty5o2HwW+25Eh59W3lZ30+wMqTEkUZVH";
|
|
};
|
|
};
|
|
programs.ssh.extraConfig = ''
|
|
Host pcake
|
|
HostName 10.6.0.202
|
|
IdentitiesOnly yes
|
|
IdentityFile /root/.ssh/nix_remote
|
|
'';
|
|
nix = {
|
|
buildMachines = [
|
|
{
|
|
hostName = "pcake";
|
|
systems = [
|
|
"x86_64-linux"
|
|
"aarch64-linux"
|
|
];
|
|
maxJobs = 2;
|
|
speedFactor = 4;
|
|
supportedFeatures = [
|
|
"kvm"
|
|
"big-parallel"
|
|
"nixos-test"
|
|
"benchmark"
|
|
];
|
|
mandatoryFeatures = [ ];
|
|
}
|
|
];
|
|
|
|
distributedBuilds = true;
|
|
extraOptions = ''
|
|
builders-use-substitutes = true
|
|
'';
|
|
};
|
|
};
|
|
}
|