chore: dynamic hosts, builder targets
buildbot/nix-eval Build done.
buildbot/nix-build gitea:greg/nixos#checks.x86_64-linux.nixos-exodus Build done.
buildbot/nix-build gitea:greg/nixos#checks.x86_64-linux.nixos-isaiah Build done.
buildbot/nix-build gitea:greg/nixos#checks.x86_64-linux.nixos-linode Build done.
buildbot/nix-build gitea:greg/nixos#checks.x86_64-linux.nixos-zeke Build done.
buildbot/nix-build gitea:greg/nixos#checks.x86_64-linux.nixos-jeremiah Build done.
buildbot/nix-build gitea:greg/nixos#checks.aarch64-linux.nixos-nixos Build done.
buildbot/nix-build gitea:greg/nixos#checks.x86_64-linux.nixos-gitlab Build done.
buildbot/nix-build Build done.

Make hosts read from directories, to limit manual changes
Rename vm-gitlab -> gitlab
A few reformatting and lint changes due to altered files
Create builder targets for Darwin builders
This commit is contained in:
Greg Hellings
2026-02-17 16:11:29 -06:00
parent 5cd5a3000f
commit e2181f124a
44 changed files with 67 additions and 43 deletions
+13 -19
View File
@@ -1,25 +1,13 @@
{
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 {
#darwin-aarch-builder = top.self.nixosConfigurations.builder-aarch;
darwin-x86-builder = top.self.nixosConfigurations.builder-x86;
in
{
environment.systemPackages = with pkgs; [
hms
];
@@ -41,12 +29,18 @@ in {
nix = {
enable = true;
buildMachines = [{
buildMachines = [
{
hostName = "ssh-ng://builder@localhost";
system = "aarch64-linux";
maxJobs = 4;
supportedFeatures = ["kvm" "benchmarch" "big-parallel"];
}];
supportedFeatures = [
"kvm"
"benchmarch"
"big-parallel"
];
}
];
gc.interval.Hour = 3;
settings.auto-optimise-store = false; # Darwin bugs?
};
+2
View File
@@ -19,3 +19,5 @@ builds:
- homeConfigurations.exodus
- darwinConfigurations.MacBook-Pro
- darwinConfigurations.MacBook-Prolocal
- nixosConfigurations.builder-x86
- nixosConfigurations.builder-aarch
+1 -1
View File
@@ -41,5 +41,5 @@ in
jeremiah = greg "jeremiah";
linode = greg "linode";
hosea = greg "hosea";
vm-gitlab = greg "vm-gitlab";
gitlab = greg "gitlab";
}
+46 -18
View File
@@ -4,7 +4,7 @@
nixpkgs,
}:
let
vm = args: (unstable (args // { extraMods = [ top.nixos-generators.nixosModules.all-formats ]; }));
inherit (top.nixunstable) lib;
wsl = args: (unstable (args // { extraMods = [ top.wsl.nixosModules.wsl ]; }));
unstable =
{
@@ -31,30 +31,58 @@ let
# Local ones
./baseline.nix
top.self.modules.nixosModule
./${name}
]
++ extraMods;
};
in
{
genesis = unstable { name = "genesis"; };
exodus = unstable { name = "exodus"; };
zeke = unstable { name = "zeke"; };
icdm-root = unstable { name = "icdm-root"; };
linode = unstable { name = "linode"; };
hosea = unstable { name = "hosea"; };
jeremiah = unstable { name = "jeremiah"; };
isaiah = unstable { name = "isaiah"; };
vm-gitlab = vm { name = "vm-gitlab"; };
proxmoxtemplate = unstable { name = "proxmoxtemplate"; };
iso = unstable { name = "iso"; };
(lib.genAttrs
(builtins.attrNames (lib.filterAttrs (_: v: v == "directory") (builtins.readDir ./unstable)))
(
name:
(unstable {
inherit name;
extraMods = [ ./unstable/${name} ];
})
)
)
// (lib.genAttrs
(builtins.attrNames (lib.filterAttrs (_: v: v == "directory") (builtins.readDir ./vm)))
(
name:
(unstable {
inherit name;
extraMods = [ ./vm/${name} ];
})
)
)
// {
# nix build '.#nixosConfigurations.wsl.config.system.build.installer'
nixos = wsl { name = "wsl"; };
# nix build '.#nixosConfigurations.wsl-aarch.config.system.build.installer'
#nixos-arm = wsl {
#name = "wsl";
#system = "aarch64-linux";
# name = "wsl";
# system = "aarch64-linux";
#};
builder-aarch = lib.nixosSystem {
system = "aarch64-linux";
modules = [
"${top.nixunstable}/nixos/modules/profiles/nix-builder-vm.nix"
{
virtualisation.host.pkgs = import top.nixunstable { system = "aarch64-darwin"; };
boot.loader.grub.devices = [ "/dev/vda" ];
}
];
};
builder-x86 = 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"; };
boot.loader.grub.devices = [ "/dev/vda" ];
}
];
};
}
View File
@@ -66,7 +66,7 @@ in
};
networking = {
hostName = "vm-gitlab"; # Define your hostname.
hostName = "gitlab"; # Define your hostname.
firewall.allowedTCPPorts = [
80
registryPort
+1 -1
View File
@@ -95,7 +95,7 @@
"external": true,
"system": "x86_64-linux"
},
"vm-gitlab": {
"gitlab": {
"system": "x86_64-linux"
},
"wsl": {