Move more data into metadata

This commit is contained in:
Greg Hellings
2025-12-16 16:48:11 -06:00
parent 1a528f10de
commit 553957c35e
5 changed files with 44 additions and 30 deletions
+1 -1
View File
@@ -91,7 +91,7 @@
darwinConfigurations = (import ./darwin { inherit top overlays; }); darwinConfigurations = (import ./darwin { inherit top overlays; });
nixosConfigurations = (import ./hosts { inherit top overlays; }); nixosConfigurations = (import ./hosts { inherit top overlays metadata; });
homeConfigurations = (import ./home { inherit top overlays; }); homeConfigurations = (import ./home { inherit top overlays; });
-18
View File
@@ -2,18 +2,8 @@
config, config,
lib, lib,
pkgs, pkgs,
self,
... ...
}: }:
let
builderHosts =
if self != null then
(lib.attrNames (
lib.filterAttrs (_: v: v.config.greg.remote-builder.enable) self.nixosConfigurations
))
else
[ ];
in
{ {
imports = [ imports = [
../modules/nix-conf.nix ../modules/nix-conf.nix
@@ -76,14 +66,6 @@ in
}; };
ssh = { ssh = {
extraConfig = builtins.concatStringsSep "\n" (
lib.map (x: ''
Host ${x}-builder
Hostname ${x}.home
User remote-builder-user
'') builderHosts
);
knownHosts = { knownHosts = {
chronicles = { chronicles = {
extraHostNames = [ extraHostNames = [
+6 -3
View File
@@ -1,4 +1,8 @@
{ top, overlays }: {
top,
overlays,
metadata,
}:
let let
vm = args: (unstable (args // { extraMods = [ top.nixos-generators.nixosModules.all-formats ]; })); vm = args: (unstable (args // { extraMods = [ top.nixos-generators.nixosModules.all-formats ]; }));
wsl = args: (unstable (args // { extraMods = [ top.wsl.nixosModules.wsl ]; })); wsl = args: (unstable (args // { extraMods = [ top.wsl.nixosModules.wsl ]; }));
@@ -12,8 +16,7 @@ let
}: }:
channel.lib.nixosSystem { channel.lib.nixosSystem {
specialArgs = { specialArgs = {
inherit top; inherit metadata top;
inherit (top) self;
}; };
modules = [ modules = [
{ {
+15
View File
@@ -1,11 +1,13 @@
{ {
config, config,
lib, lib,
metadata,
pkgs, pkgs,
... ...
}: }:
let let
builderHosts = lib.filterAttrs (_n: v: (builtins.hasAttr "builder" v) && v.builder) metadata.hosts;
cfg = config.greg.nix; cfg = config.greg.nix;
in in
{ {
@@ -17,7 +19,20 @@ in
}; };
config = { config = {
programs.ssh.extraConfig = builtins.concatStringsSep "\n" (
lib.map (x: ''
Host ${x}-builder
Hostname ${x}.shire-zebra.ts.net
User remote-builder-user
'') (lib.attrNames builderHosts)
);
nix = { nix = {
buildMachines = lib.mapAttrsToList (k: v: {
inherit (v) systems;
hostName = "${k}.shire-zebra.ts.net";
}) builderHosts;
distributedBuilds = true;
gc = { gc = {
automatic = true; automatic = true;
# Scheduling of them is different in nixos vs nix-darwin, so check for # Scheduling of them is different in nixos vs nix-darwin, so check for
+22 -8
View File
@@ -12,39 +12,53 @@
}, },
"exodus": { "exodus": {
"ip": null, "ip": null,
"ts": "100.80.99.48" "ts": "100.80.99.48",
"system": "x86_64-linux"
}, },
"genesis": { "genesis": {
"ip": "10.42.1.5", "ip": "10.42.1.5",
"ts": "100.88.91.27" "ts": "100.88.91.27",
"system": "x86_64-linux"
}, },
"hosea": { "hosea": {
"ip": "10.42.1.7", "ip": "10.42.1.7",
"ts": "100.68.203.1" "ts": "100.68.203.1",
"system": "x86_64-linux"
}, },
"isaiah": { "isaiah": {
"builder": true,
"ip": "10.42.1.6", "ip": "10.42.1.6",
"ts": "100.84.183.79" "ts": "100.84.183.79",
"system": "x86_64-linux",
"systems": [ "x86_64-linux", "aarch64-linux" ]
}, },
"jeremiah": { "jeremiah": {
"builder": true,
"ip": "10.42.1.8", "ip": "10.42.1.8",
"ts": "100.102.186.39" "ts": "100.102.186.39",
"system": "x86_64-linux",
"systems": [ "x86_64-linux", "aarch64-linux" ]
}, },
"joel": { "joel": {
"ip": "10.42.0.4", "ip": "10.42.0.4",
"ts": null "ts": null,
"system": "x86_64-linux"
}, },
"linode": { "linode": {
"ip": null, "ip": null,
"ts": "100.109.86.8" "ts": "100.109.86.8",
"system": "x86_64-linux"
}, },
"nas1": { "nas1": {
"ip": "10.42.1.14", "ip": "10.42.1.14",
"ts": "100.114.187.61" "ts": "100.114.187.61"
}, },
"zeke": { "zeke": {
"builder": true,
"ip": "10.42.1.13", "ip": "10.42.1.13",
"ts": "100.90.74.19" "ts": "100.90.74.19",
"system": "x86_64-linux",
"systems": [ "x86_64-linux", "aarch64-linux" ]
} }
} }
} }