inventory: add clanLib to specialArgs

This commit is contained in:
Johannes Kirschbauer
2025-10-20 18:24:10 +02:00
committed by Mic92
parent 5b399fd447
commit 3d0c281fd6
3 changed files with 46 additions and 3 deletions

View File

@@ -27,14 +27,16 @@ in
placeholder = "mappedServiceName"; placeholder = "mappedServiceName";
elemType = submoduleWith { elemType = submoduleWith {
class = "clan.service"; class = "clan.service";
specialArgs = {
exports = config.exports;
directory = directory;
clanLib = specialArgs.clanLib;
};
modules = [ modules = [
( (
{ name, ... }: { name, ... }:
{ {
_module.args._ctx = [ name ]; _module.args._ctx = [ name ];
_module.args.exports = config.exports;
_module.args.directory = directory;
} }
) )
./service-module.nix ./service-module.nix

View File

@@ -56,6 +56,7 @@ in
extraModules = import ./extraModules.nix { inherit clanLib; }; extraModules = import ./extraModules.nix { inherit clanLib; };
exports = import ./exports.nix { inherit lib clanLib; }; exports = import ./exports.nix { inherit lib clanLib; };
settings = import ./settings.nix { inherit lib callInventoryAdapter; }; settings = import ./settings.nix { inherit lib callInventoryAdapter; };
specialArgs = import ./specialArgs.nix { inherit lib callInventoryAdapter; };
resolve_module_spec = import ./import_module_spec.nix { inherit lib callInventoryAdapter; }; resolve_module_spec = import ./import_module_spec.nix { inherit lib callInventoryAdapter; };
test_simple = test_simple =
let let

View File

@@ -0,0 +1,40 @@
{ callInventoryAdapter, lib, ... }:
let
res = callInventoryAdapter {
modules."A" = m: {
_class = "clan.service";
config = {
manifest = {
name = "network";
};
roles.default = { };
};
options.test = lib.mkOption {
default = m;
};
};
machines = {
jon = { };
};
instances."instance_foo" = {
module = {
name = "A";
input = "self";
};
roles.peer.machines.jon = { };
};
};
specialArgs = lib.attrNames res.servicesEval.config.mappedServices.self-A.test.specialArgs;
in
{
test_simple = {
expr = specialArgs;
expected = [
"clanLib"
"directory"
"exports"
];
};
}