cluster/lib: implement injectNixosConfigForServices to select individual services

This commit is contained in:
Max Headroom 2024-07-20 22:15:48 +02:00
parent 5a17b705d8
commit cc2cce0cce
2 changed files with 10 additions and 6 deletions

View file

@ -2,9 +2,9 @@
with lib; with lib;
{ {
options.out.injectNixosConfig = mkOption { options.out = mkOption {
description = "NixOS configuration to inject into the given host."; description = "Output functions.";
type = with types; functionTo raw; type = with types; lazyAttrsOf (functionTo raw);
default = const []; default = const [];
}; };
} }

View file

@ -39,7 +39,11 @@ in
default = {}; default = {};
}; };
config.out.injectNixosConfig = hostName: (lib.flatten (lib.mapAttrsToList (getHostConfigurations hostName) config.services)) ++ [ config.out = {
injectNixosConfigForServices = services: hostName: (lib.flatten (lib.mapAttrsToList (getHostConfigurations hostName) (lib.getAttrs services config.services))) ++ [
introspectionModule introspectionModule
]; ];
injectNixosConfig = config.out.injectNixosConfigForServices (lib.attrNames config.services);
};
} }