From 8e7a34af0dec55da3d95d3a681369e6e06680d8e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Mon, 15 Jul 2024 13:43:43 +0200 Subject: [PATCH] inventory: allow per role configuration --- lib/inventory/build-inventory/default.nix | 6 ++++++ lib/inventory/build-inventory/interface.nix | 1 + 2 files changed, 7 insertions(+) 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; } ); };