refactor evalClanModules to accept a module instead of a modulename

This commit is contained in:
Jörg Thalheim
2024-10-09 14:39:11 +02:00
parent aad4032626
commit f6bb721d83
2 changed files with 7 additions and 15 deletions

View File

@@ -12,23 +12,18 @@
# borgbackup = self.clanModules.borgbackup;
# };
optionsFromModule =
mName:
let
eval = self.lib.evalClanModules [ mName ];
in
if (eval.options.clan ? "${mName}") then eval.options.clan.${mName} else { };
optionsFromModule = name: module: (self.lib.evalClanModules [ module ]).options.clan.${name} or { };
clanModuleSchemas = lib.mapAttrs (
modulename: _: jsonLib.parseOptions (optionsFromModule modulename) { }
name: module: jsonLib.parseOptions (optionsFromModule name module) { }
) clanModules;
clanModuleFunctionSchemas = lib.attrsets.mapAttrsToList (
modulename: _:
modulename: module:
(self.lib.modules.getFrontmatter modulename)
// {
name = modulename;
parameters = jsonLib.parseOptions (optionsFromModule modulename) { };
parameters = jsonLib.parseOptions (optionsFromModule modulename module) { };
}
) clanModules;
in