diff --git a/lib/inventory/build-inventory/default.nix b/lib/inventory/build-inventory/default.nix index 6347a58cd..3b9a35b5d 100644 --- a/lib/inventory/build-inventory/default.nix +++ b/lib/inventory/build-inventory/default.nix @@ -83,6 +83,11 @@ let else throw "Module doesn't have role: '${role}'. Path: ${path} not found." ) inverseRoles.${machineName} or [ ]; + + roleServiceConfigs = builtins.map ( + role: + serviceConfig.roles.${role}.config or { } + ) inverseRoles.${machineName} or [ ]; in if isInService then acc2 @@ -92,6 +97,7 @@ let config.clan.${moduleName} = lib.mkMerge [ globalConfig machineServiceConfig + roleServiceConfigs ]; } { diff --git a/lib/inventory/build-inventory/interface.nix b/lib/inventory/build-inventory/interface.nix index 89acedb3c..817e380cd 100644 --- a/lib/inventory/build-inventory/interface.nix +++ b/lib/inventory/build-inventory/interface.nix @@ -94,6 +94,7 @@ in apply = lib.unique; type = t.listOf tagRef; }; + options.config = moduleConfig; } ); };