nixcfg/systems/aarch64-darwin/rialo/default.nix
Harald Hoyer 143e8cbf98 feat(build): enable distributed builds and caching setup
- Added Nix distributed build configuration for multiple machines.
- Introduced caching setup with substituters and sandbox paths.
- Enabled optional build configurations with ccache support.
2025-11-13 09:42:19 +01:00

96 lines
1.6 KiB
Nix

{ lib, pkgs, ... }:
with lib.metacfg;
{
nix.distributedBuilds = true;
nix.buildMachines = [
{
hostName = "m1.local";
system = "aarch64-darwin";
maxJobs = 4;
speedFactor = 2;
sshUser = "harald";
sshKey = "/etc/ssh/nix-builder-key";
}
{
hostName = "rialo.local";
system = "aarch64-darwin";
maxJobs = 4;
speedFactor = 2;
sshUser = "harald";
sshKey = "/etc/ssh/nix-builder-key";
}
{
hostName = "sgx.local";
system = "x86_64-linux";
maxJobs = 4;
speedFactor = 1;
sshUser = "harald";
sshKey = "/etc/ssh/nix-builder-key";
}
];
nix.settings = {
substituters = [
"https://cache.nixos.org"
"ssh-ng://harald@m4.local?ssh-key=/etc/ssh/nix-builder-key"
"ssh-ng://harald@rialo.local?ssh-key=/etc/ssh/nix-builder-key"
];
builders-use-substitutes = true;
};
homebrew = {
enable = true;
brews = [
"libusb"
"mas"
];
masApps = { };
onActivation = {
cleanup = "zap";
autoUpdate = true;
upgrade = true;
};
};
metacfg = {
system.homebrew = enabled;
suites = {
common = enabled;
};
tools = {
direnv.enable = true;
alacritty.enable = true;
};
build.enable = true;
};
environment.systemPackages = with pkgs; [
azure-cli
kubectl
kubectx
k9s
attic-client
imagemagick
gh
libvirt
dnsmasq
virt-manager
qemu
claude-code
nodejs
goose-cli
aider-chat
fabric-ai
];
users.users.harald.shell = pkgs.fish;
ids.gids.nixbld = 350;
system.stateVersion = 4;
}