2024-02-09 14:33:51 -06:00
|
|
|
{
|
2026-02-18 12:38:19 -06:00
|
|
|
lib,
|
2025-06-10 14:28:46 -05:00
|
|
|
pkgs,
|
2026-01-20 10:51:39 -06:00
|
|
|
top,
|
2025-06-10 14:28:46 -05:00
|
|
|
...
|
|
|
|
|
}:
|
2026-01-20 10:51:39 -06:00
|
|
|
let
|
2026-02-18 12:38:19 -06:00
|
|
|
builder-config = {
|
|
|
|
|
darwin-aarch-builder = top.self.nixosConfigurations.builder-aarch;
|
|
|
|
|
darwin-x86-builder = top.self.nixosConfigurations.builder-x86;
|
|
|
|
|
};
|
|
|
|
|
builder = arch: let
|
|
|
|
|
b = builder-config."darwin-${arch}-builder";
|
|
|
|
|
in {
|
|
|
|
|
command = "${b.config.system.build.macos-builder-installer}/bin/create-builder";
|
|
|
|
|
serviceConfig = {
|
|
|
|
|
KeepAlive = true;
|
|
|
|
|
RunAtLoad = true;
|
|
|
|
|
StandardOutPath = "/var/log/builder-vm-${arch}.log";
|
|
|
|
|
StandardErrorPath = "/var/log/builder-vm-${arch}.stderr.log";
|
|
|
|
|
};
|
|
|
|
|
};
|
2026-02-17 16:10:35 -06:00
|
|
|
in
|
|
|
|
|
{
|
2025-06-10 14:56:59 -05:00
|
|
|
environment.systemPackages = with pkgs; [
|
|
|
|
|
hms
|
|
|
|
|
];
|
|
|
|
|
|
2025-05-09 12:54:21 -05:00
|
|
|
fonts.packages = with pkgs; [
|
|
|
|
|
dejavu_fonts
|
2025-05-22 08:40:18 -05:00
|
|
|
nerd-fonts.hack
|
2025-05-09 12:54:21 -05:00
|
|
|
];
|
|
|
|
|
|
2026-02-18 12:38:19 -06:00
|
|
|
launchd.daemons = lib.genAttrs' [ "x86" "aarch" ] (arch: lib.nameValuePair "builder-${arch}-machine" (builder arch));
|
2026-01-20 10:51:39 -06:00
|
|
|
|
2024-10-03 11:26:39 -05:00
|
|
|
nix = {
|
2025-05-22 08:40:18 -05:00
|
|
|
enable = true;
|
2026-02-17 16:10:35 -06:00
|
|
|
buildMachines = [
|
|
|
|
|
{
|
|
|
|
|
hostName = "ssh-ng://builder@localhost";
|
|
|
|
|
system = "aarch64-linux";
|
|
|
|
|
maxJobs = 4;
|
|
|
|
|
supportedFeatures = [
|
|
|
|
|
"kvm"
|
|
|
|
|
"benchmarch"
|
|
|
|
|
"big-parallel"
|
|
|
|
|
];
|
|
|
|
|
}
|
|
|
|
|
];
|
2025-05-22 08:40:18 -05:00
|
|
|
gc.interval.Hour = 3;
|
2024-10-03 11:26:39 -05:00
|
|
|
settings.auto-optimise-store = false; # Darwin bugs?
|
|
|
|
|
};
|
2025-05-09 11:18:52 -05:00
|
|
|
|
2025-05-09 12:54:21 -05:00
|
|
|
power.sleep = {
|
|
|
|
|
allowSleepByPowerButton = true;
|
|
|
|
|
computer = "never";
|
|
|
|
|
display = 30;
|
|
|
|
|
};
|
|
|
|
|
|
2025-05-09 11:18:52 -05:00
|
|
|
programs = {
|
|
|
|
|
zsh.enable = true;
|
|
|
|
|
bash.enable = true;
|
|
|
|
|
};
|
|
|
|
|
|
2025-05-09 12:54:21 -05:00
|
|
|
system = {
|
|
|
|
|
defaults = {
|
2025-05-22 08:40:18 -05:00
|
|
|
CustomSystemPreferences = {
|
|
|
|
|
".GlobalPreferences" = {
|
|
|
|
|
"com.apple.swipescrolldirection" = 0;
|
|
|
|
|
};
|
|
|
|
|
};
|
2025-05-09 12:54:21 -05:00
|
|
|
finder = {
|
|
|
|
|
AppleShowAllExtensions = true;
|
|
|
|
|
AppleShowAllFiles = true;
|
|
|
|
|
ShowExternalHardDrivesOnDesktop = true;
|
|
|
|
|
ShowMountedServersOnDesktop = true;
|
|
|
|
|
ShowPathbar = true;
|
|
|
|
|
ShowRemovableMediaOnDesktop = true;
|
|
|
|
|
ShowStatusBar = true;
|
|
|
|
|
};
|
|
|
|
|
LaunchServices.LSQuarantine = false;
|
|
|
|
|
menuExtraClock = {
|
|
|
|
|
Show24Hour = true;
|
2025-05-22 08:40:18 -05:00
|
|
|
ShowDate = 2;
|
2025-05-09 12:54:21 -05:00
|
|
|
};
|
|
|
|
|
screencapture = {
|
|
|
|
|
include-date = true;
|
2025-06-10 14:28:46 -05:00
|
|
|
location = "~/Photos/Screeneries";
|
2025-05-09 12:54:21 -05:00
|
|
|
};
|
|
|
|
|
trackpad = {
|
|
|
|
|
Dragging = false;
|
|
|
|
|
TrackpadRightClick = true;
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
startup.chime = false;
|
|
|
|
|
stateVersion = 6;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
time.timeZone = "America/Chicago";
|
2024-10-03 11:26:39 -05:00
|
|
|
}
|