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

@@ -4,9 +4,6 @@
pkgs,
}:
let
inherit (clan-core) clanModules;
baseModule = {
imports = (import (pkgs.path + "/nixos/modules/module-list.nix")) ++ [
{
@@ -18,9 +15,9 @@ let
};
# This function takes a list of module names and evaluates them
# evalClanModules :: [ String ] -> { config, options, ... }
# evalClanModules :: [ module ] -> { config, options, ... }
evalClanModulesLegacy =
modulenames:
modules:
let
evaled = lib.evalModules {
modules = [
@@ -29,7 +26,7 @@ let
clan.core.clanDir = clan-core;
}
clan-core.nixosModules.clanCore
] ++ (map (name: clanModules.${name}) modulenames);
] ++ modules;
};
in
# lib.warn ''

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