refactor(flake): inline assembly wiring

This commit is contained in:
2026-08-29 17:06:07 -04:00
parent 42b1578efa
commit 28d8eb7ca9
5 changed files with 49 additions and 63 deletions

View File

@@ -76,13 +76,9 @@
{ self, nixpkgs, ... }@inputs: { self, nixpkgs, ... }@inputs:
let let
inherit (nixpkgs) lib; inherit (nixpkgs) lib;
flake = import ./flake { inherit lib inputs self; };
in in
{ {
# Every host under hosts/ is discovered and built. inherit (import ./flake { inherit lib inputs self; }) nixosConfigurations;
nixosConfigurations = flake.mkHosts {
root = self + "/hosts";
};
# A project shell for agent-local resources that should travel with this # A project shell for agent-local resources that should travel with this
# checkout rather than the operator's global profile. # checkout rather than the operator's global profile.

View File

@@ -4,55 +4,50 @@
self, self,
}: }:
let let
# TODO: refactor the registry code
registryAssembly = import ./registry.nix { inherit lib self; };
util = import ../lib { inherit lib; }; util = import ../lib { inherit lib; };
mkModules = import ./module.nix { inherit util; };
modules = mkModules { registry = import ./registry.nix {
inherit lib;
hosts = self.nixosConfigurations;
root = self + "/registry";
};
modules = import ./module.nix {
inherit util;
root = self + "/modules"; root = self + "/modules";
}; };
guestModules = guests.mkGuests { guestModules = import ./guest.nix {
inherit
inputs
lib
registry
specialArgs
util
;
repositoryModules = modules;
root = self + "/guests"; root = self + "/guests";
}; };
#----------------------------------------------------------
collectedRegistry = registryAssembly.collect { hosts = self.nixosConfigurations; };
specialArgs = { specialArgs = {
inherit inherit
inputs inputs
self self
util util
; ;
registry = collectedRegistry; registry = registry.collected;
}; };
in
guests = import ./guest.nix { {
inherit nixosConfigurations = import ./host.nix {
inputs
lib
specialArgs
registryAssembly
util
;
repositoryModules = modules;
};
hosts = import ./host.nix {
inherit inherit
inputs inputs
lib lib
specialArgs specialArgs
guestModules guestModules
registryAssembly
; ;
registryModule = registry.module;
repositoryModules = modules; repositoryModules = modules;
root = self + "/hosts";
}; };
in
{
inherit (hosts) mkHosts;
} }

View File

@@ -1,9 +1,10 @@
{ {
inputs, inputs,
lib, lib,
root,
specialArgs, specialArgs,
repositoryModules, repositoryModules,
registryAssembly, registry,
util, util,
}: }:
let let
@@ -65,7 +66,7 @@ let
enable = lib.mkEnableOption "a reverse-proxy route for this guest"; enable = lib.mkEnableOption "a reverse-proxy route for this guest";
route = lib.mkOption { route = lib.mkOption {
type = registryAssembly.definitions.route.type; type = registry.types.route;
description = "Route registry entry published for this guest."; description = "Route registry entry published for this guest.";
}; };
}; };
@@ -247,7 +248,7 @@ let
inputs.stylix.nixosModules.stylix inputs.stylix.nixosModules.stylix
repositoryModules repositoryModules
registryAssembly.module registry.module
cfg.interior cfg.interior
{ {
@@ -268,9 +269,6 @@ let
}; };
}; };
in in
{
mkGuests =
{ root }:
let let
files = util.collectNixFiles root; files = util.collectNixFiles root;
guestFiles = lib.filterAttrs (file: type: type == "regular" && lib.hasSuffix ".nix" file) (builtins.readDir root); guestFiles = lib.filterAttrs (file: type: type == "regular" && lib.hasSuffix ".nix" file) (builtins.readDir root);
@@ -278,5 +276,4 @@ in
in in
{ {
imports = files ++ map mkGuest names; imports = files ++ map mkGuest names;
};
} }

View File

@@ -1,12 +1,12 @@
{ {
inputs, inputs,
lib, lib,
root,
specialArgs, specialArgs,
repositoryModules, repositoryModules,
guestModules, guestModules,
# TODO refactor registry registryModule,
registryAssembly,
}: }:
let let
mkHost = mkHost =
@@ -26,7 +26,7 @@ let
guestModules guestModules
# TODO: refactor # TODO: refactor
registryAssembly.module (root + "/${name}") registryModule (root + "/${name}")
{ {
networking.hostName = name; networking.hostName = name;
@@ -35,9 +35,6 @@ let
]; ];
}; };
in in
{
mkHosts =
{ root }:
let let
directories = lib.filterAttrs (_name: type: type == "directory") (builtins.readDir root); directories = lib.filterAttrs (_name: type: type == "directory") (builtins.readDir root);
names = lib.attrNames directories; names = lib.attrNames directories;
@@ -45,5 +42,4 @@ in
lib.genAttrs names ( lib.genAttrs names (
name: name:
mkHost { inherit root name; } mkHost { inherit root name; }
); )
}

View File

@@ -1,5 +1,7 @@
{ util }: {
{ root }: root,
util,
}:
{ {
imports = util.collectNixFiles root; imports = util.collectNixFiles root;
} }