- Added Nix distributed build configuration for multiple machines. - Introduced caching setup with substituters and sandbox paths. - Enabled optional build configurations with ccache support.
96 lines
1.6 KiB
Nix
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;
|
|
}
|