feat: distributed builder work

This commit is contained in:
Kat Inskip 2023-01-30 08:02:10 -08:00
parent 08fbb97b5a
commit b01c6222f8
Signed by: kat
GPG key ID: 465E64DECEA8CF0F
7 changed files with 63 additions and 79 deletions

28
common/distributed.nix Normal file
View file

@ -0,0 +1,28 @@
{ lib, config, inputs, ... }: let
inherit (lib.attrsets) mapAttrsToList;
inherit (lib.lists) optionals;
buildMachines = mapAttrsToList (name: config_: let
config = config_.config;
in {
hostName = "${config.networking.hostName}.inskip.me";
sshUser = "deploy";
systems = [ config.nixpkgs.system ] ++ optionals (config.nix.settings ? extra-platforms) config.nix.settings.extra-platforms;
maxJobs = 100;
speedFactor = 1; # TODO: provide adjustment factor
supportedFeatures = [ "nixos-test" "benchmark" "big-parallel" "kvm" ];
} ) inputs.self.nixosConfigurations;
daiyousei = {
hostName = "daiyousei.inskip.me";
sshUser = "root";
system = "aarch64-linux";
maxJobs = 100;
speedFactor = 1;
supportedFeatures = ["benchmark" "big-parallel" "kvm"];
mandatoryFeatures = [];
};
in {
nix = {
inherit buildMachines;
distributedBuilds = true;
};
}