From 697ba800a61a9343a144d33deb4c96b91316e571 Mon Sep 17 00:00:00 2001 From: clay53 Date: Tue, 4 Nov 2025 13:58:34 -0500 Subject: [PATCH] remote building --- clhickey-nixos/configuration.nix | 2 ++ cos.nix | 1 + remoteBuild.nix | 24 ++++++++++++++++++++++++ 3 files changed, 27 insertions(+) create mode 100644 remoteBuild.nix diff --git a/clhickey-nixos/configuration.nix b/clhickey-nixos/configuration.nix index 4a01680..1496348 100644 --- a/clhickey-nixos/configuration.nix +++ b/clhickey-nixos/configuration.nix @@ -12,6 +12,8 @@ cos.winboat.enable = true; cos.docker.enable = true; + cos.remoteBuild.enable = true; + boot = { loader = { systemd-boot.enable = true; diff --git a/cos.nix b/cos.nix index 531862a..156798a 100644 --- a/cos.nix +++ b/cos.nix @@ -5,6 +5,7 @@ ./wireguard.nix ./winboat.nix ./docker.nix + ./remoteBuild.nix "${inputs.home-manager}/nixos" ]; diff --git a/remoteBuild.nix b/remoteBuild.nix new file mode 100644 index 0000000..de66002 --- /dev/null +++ b/remoteBuild.nix @@ -0,0 +1,24 @@ +{ lib, config, ... }: +let cfg = config.cos.remoteBuild; in +{ + options.cos.remoteBuild = { + enable = lib.mkEnableOption "Turn on remote builders"; + }; + + config = lib.mkIf cfg.enable { + cos.wireguard.enable = true; + + nix.buildMachines = [{ + sshUser = "clhickey"; + hostName = config.cos.wireguard.clientPubOptionsMap.nixnas.ip; + system = "x86_64-linux"; + protocol = "ssh-ng"; + maxJobs = 4; + speedFactor = 1; + supportedFeatures = [ "kvm" "nixos-tests" "big-parallel" ]; + mandatoryFeatures = []; + }]; + nix.distributedBuilds = true; + nix.settings.builders-use-substitutes = false; + }; +}