summaryrefslogtreecommitdiff
path: root/modules/build-machines.nix
diff options
context:
space:
mode:
Diffstat (limited to 'modules/build-machines.nix')
-rw-r--r--modules/build-machines.nix32
1 files changed, 32 insertions, 0 deletions
diff --git a/modules/build-machines.nix b/modules/build-machines.nix
new file mode 100644
index 0000000..12409db
--- /dev/null
+++ b/modules/build-machines.nix
@@ -0,0 +1,32 @@
+{lib, config, ...}:
+
+let
+ machines = {
+ pinto = {
+ maxJobs = 2;
+ protocol = "ssh-ng";
+ 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
+ '';
+ };
+}