{lib, config, ...}: let machines = { pinto = { maxJobs = 2; protocol = "ssh-ng"; system = "x86_64-linux" supportedFeatures = ["big-parallel" "kvm"]; }; }; enabled = config.this.buildMachines; inherit (lib.attrsets) filterAttrs; in { options = { this.buildMachines = lib.mkOption { type = with lib.types; listOf str; default = []; }; }; config = { nix.buildMachines = builtins.map (m: machines."${m}" // { hostName = m; }) enabled; nix.distributedBuilds = (enabled == []); nix.extraOptions = lib.mkIf (enabled != []) '' builders-use-substitutes = true ''; }; }