From 9d818712fea42f227862d132783f7ed9a5f33f58 Mon Sep 17 00:00:00 2001 From: alexion Date: Sun, 4 Oct 2026 21:26:20 -0400 Subject: [PATCH] refactor(dotfiles): separate registry validation --- src/dotfiles/registry.nix | 33 ++++++++++++++-------------- src/dotfiles/registry/validation.nix | 5 ++--- 2 files changed, 19 insertions(+), 19 deletions(-) diff --git a/src/dotfiles/registry.nix b/src/dotfiles/registry.nix index 1bee98b..822f132 100644 --- a/src/dotfiles/registry.nix +++ b/src/dotfiles/registry.nix @@ -19,14 +19,12 @@ let ]; }).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; }; + + data = lib.mapAttrs ( + registryName: _registry: + lib.mapAttrs (hostName: host: host.config.registry.${registryName}.${hostName} or { }) hosts + ) definitions; in { types = lib.mapAttrs (_name: definition: definition.type) definitions; @@ -45,13 +43,16 @@ in ) definitions; }; - collected = data // { - join = - host: entry: - lib.filterAttrs (_name: value: value != null) ( - lib.mapAttrs ( - registryName: _registry: (data.${registryName}.${host} or { }).${entry} or null - ) definitions - ); - }; + collected = + assert validate data; + data + // { + join = + host: entry: + lib.filterAttrs (_name: value: value != null) ( + lib.mapAttrs ( + registryName: _registry: (data.${registryName}.${host} or { }).${entry} or null + ) definitions + ); + }; } diff --git a/src/dotfiles/registry/validation.nix b/src/dotfiles/registry/validation.nix index 41704a3..6929f49 100644 --- a/src/dotfiles/registry/validation.nix +++ b/src/dotfiles/registry/validation.nix @@ -35,7 +35,6 @@ let assertions = validationAssertions data; failures = lib.filter (assertion: !assertion.assertion) assertions; 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 -); -data +)