refactor(dotfiles): separate registry validation

This commit is contained in:
2026-10-03 20:03:44 -04:00
parent 987b87cbab
commit a459cdb2b7
2 changed files with 19 additions and 19 deletions

View File

@@ -20,14 +20,12 @@ let
]; ];
}).config; }).config;
data = validate (
lib.mapAttrs (
registryName: _registry:
lib.mapAttrs (hostName: host: host.config.registry.${registryName}.${hostName} or { }) hosts
) definitions
);
validate = import ./registry/validation.nix { inherit definitions lib; }; validate = import ./registry/validation.nix { inherit definitions lib; };
data = lib.mapAttrs (
registryName: _registry:
lib.mapAttrs (hostName: host: host.config.registry.${registryName}.${hostName} or { }) hosts
) definitions;
in in
{ {
types = lib.mapAttrs (_name: definition: definition.type) definitions; types = lib.mapAttrs (_name: definition: definition.type) definitions;
@@ -46,13 +44,16 @@ in
) definitions; ) definitions;
}; };
collected = data // { collected =
join = assert validate data;
host: entry: data
lib.filterAttrs (_name: value: value != null) ( // {
lib.mapAttrs ( join =
registryName: _registry: (data.${registryName}.${host} or { }).${entry} or null host: entry:
) definitions lib.filterAttrs (_name: value: value != null) (
); lib.mapAttrs (
}; registryName: _registry: (data.${registryName}.${host} or { }).${entry} or null
) definitions
);
};
} }

View File

@@ -36,9 +36,8 @@ data:
let let
assertions = validationAssertions data; assertions = validationAssertions data;
in in
assert lib.assertMsg (lib.all (assertion: assertion.assertion) assertions) ( lib.assertMsg (lib.all (assertion: assertion.assertion) assertions) (
lib.concatMapStringsSep "\n" (assertion: assertion.message) ( lib.concatMapStringsSep "\n" (assertion: assertion.message) (
lib.filter (assertion: !assertion.assertion) assertions lib.filter (assertion: !assertion.assertion) assertions
) )
); )
data