refactor(dotfiles): separate registry validation
This commit is contained in:
@@ -19,14 +19,12 @@ let
|
|||||||
];
|
];
|
||||||
}).config;
|
}).config;
|
||||||
|
|
||||||
data = validate (
|
validate = import ./registry/validation.nix { inherit definitions lib; };
|
||||||
lib.mapAttrs (
|
|
||||||
|
data = lib.mapAttrs (
|
||||||
registryName: _registry:
|
registryName: _registry:
|
||||||
lib.mapAttrs (hostName: host: host.config.registry.${registryName}.${hostName} or { }) hosts
|
lib.mapAttrs (hostName: host: host.config.registry.${registryName}.${hostName} or { }) hosts
|
||||||
) definitions
|
) definitions;
|
||||||
);
|
|
||||||
|
|
||||||
validate = import ./registry/validation.nix { inherit definitions lib; };
|
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
types = lib.mapAttrs (_name: definition: definition.type) definitions;
|
types = lib.mapAttrs (_name: definition: definition.type) definitions;
|
||||||
@@ -45,7 +43,10 @@ in
|
|||||||
) definitions;
|
) definitions;
|
||||||
};
|
};
|
||||||
|
|
||||||
collected = data // {
|
collected =
|
||||||
|
assert validate data;
|
||||||
|
data
|
||||||
|
// {
|
||||||
join =
|
join =
|
||||||
host: entry:
|
host: entry:
|
||||||
lib.filterAttrs (_name: value: value != null) (
|
lib.filterAttrs (_name: value: value != null) (
|
||||||
|
|||||||
@@ -35,7 +35,6 @@ let
|
|||||||
assertions = validationAssertions data;
|
assertions = validationAssertions data;
|
||||||
failures = lib.filter (assertion: !assertion.assertion) assertions;
|
failures = lib.filter (assertion: !assertion.assertion) assertions;
|
||||||
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) failures
|
lib.concatMapStringsSep "\n" (assertion: assertion.message) failures
|
||||||
);
|
)
|
||||||
data
|
|
||||||
|
|||||||
Reference in New Issue
Block a user