From 1649970e61e3dafeb1e16822f294363242f020a1 Mon Sep 17 00:00:00 2001 From: Greg Hellings Date: Tue, 20 Jan 2026 10:51:39 -0600 Subject: [PATCH] Enable remote builder on macOS --- darwin/baseline.nix | 35 ++++++++++++++++++++++++++++++++++- 1 file changed, 34 insertions(+), 1 deletion(-) diff --git a/darwin/baseline.nix b/darwin/baseline.nix index ddb199f..24e6dd7 100644 --- a/darwin/baseline.nix +++ b/darwin/baseline.nix @@ -1,8 +1,25 @@ { + lib, pkgs, + top, ... }: -{ +let + darwin-aarch-builder = top.nixunstable.lib.nixosSystem { + system = "aarch64-linux"; + modules = [ + "${top.nixunstable}/nixos/modules/profiles/nix-builder-vm.nix" + { virtualisation.host.pkgs = import top.nixunstable { system = "aarch64-darwin"; }; } + ]; + }; + darwin-x86-builder = top.nixunstable.lib.nixosSystem { + system = "x86_64-linux"; + modules = [ + "${top.nixunstable}/nixos/modules/profiles/nix-builder-vm.nix" + { virtualisation.host.pkgs = import top.nixunstable { system = "aarch64-darwin"; }; } + ]; + }; +in { environment.systemPackages = with pkgs; [ hms ]; @@ -12,8 +29,24 @@ nerd-fonts.hack ]; + launchd.daemons.darwin-aarch-builder = { + command = "${darwin-x86-builder.config.system.build.macos-builder-installer}/bin/create-builder"; + serviceConfig = { + KeepAlive = true; + RunAtLoad = true; + StandardOutPath = "/var/log/darwin-aarch-builder.log"; + StandardErrorPath = "/var/log/darwin-aarch-builder.log"; + }; + }; + nix = { enable = true; + buildMachines = [{ + hostName = "ssh-ng://builder@localhost"; + system = "aarch64-linux"; + maxJobs = 4; + supportedFeatures = ["kvm" "benchmarch" "big-parallel"]; + }]; gc.interval.Hour = 3; settings.auto-optimise-store = false; # Darwin bugs? };