From 330a4b24495cc593ef1e84b4c7228f16c95668d1 Mon Sep 17 00:00:00 2001 From: Johannes Kirschbauer Date: Sat, 29 Mar 2025 15:39:02 +0100 Subject: [PATCH] feat(inventory/instances): preserve settings modifiers close at source --- lib/distributed-service/service-module.nix | 5 ++--- lib/inventory/build-inventory/interface.nix | 6 +++--- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/lib/distributed-service/service-module.nix b/lib/distributed-service/service-module.nix index f32728439..6b463dd8c 100644 --- a/lib/distributed-service/service-module.nix +++ b/lib/distributed-service/service-module.nix @@ -204,9 +204,8 @@ in elemType = submoduleWith { modules = [ (m: { - # TODO: Move the deferred module type into inventory interface ? options.settings = mkOption { - type = types.deferredModule; + type = types.raw; description = "Settings of '${name}-machine': ${m.name}."; default = { }; }; @@ -221,7 +220,7 @@ in # options._settingsViaTags = mkOption { }; # A deferred module that combines _settingsViaTags with _settings options.settings = mkOption { - type = types.deferredModule; + type = types.raw; description = "Settings of 'role': ${name}"; default = { }; }; diff --git a/lib/inventory/build-inventory/interface.nix b/lib/inventory/build-inventory/interface.nix index e48ce4b95..2e0f713af 100644 --- a/lib/inventory/build-inventory/interface.nix +++ b/lib/inventory/build-inventory/interface.nix @@ -314,7 +314,7 @@ in default = { }; # Dont transform the value with `types.deferredModule` here. We need to keep it json serializable # TODO: We need a custom serializer for deferredModule - type = types.attrsOf types.raw; + type = types.deferredModule; }; } ); @@ -325,7 +325,7 @@ in types.submodule { options.settings = lib.mkOption { default = { }; - type = types.attrsOf types.raw; + type = types.deferredModule; }; } ); @@ -333,7 +333,7 @@ in }; settings = lib.mkOption { default = { }; - type = types.attrsOf types.raw; + type = types.deferredModule; }; }; }