Docs/modules: seperate out inventory,role specific interface

This commit is contained in:
Johannes Kirschbauer
2024-11-20 11:01:05 +01:00
parent 3975abe11d
commit 6e61db7f83
6 changed files with 145 additions and 52 deletions

View File

@@ -1,4 +1,5 @@
{
modulesRolesOptions,
nixosOptionsDoc,
clanModules,
evalClanModules,
@@ -6,14 +7,28 @@
}:
{
# clanModules docs
clanModules = lib.mapAttrs (
clanModulesViaNix = lib.mapAttrs (
name: module:
(nixosOptionsDoc {
options = ((evalClanModules [ module ]).options).clan.${name} or { };
warningsAreErrors = true;
}).optionsJSON
if builtins.pathExists (module + "/default.nix") then
(nixosOptionsDoc {
options = ((evalClanModules [ module ]).options).clan.${name} or { };
warningsAreErrors = true;
}).optionsJSON
else
{ }
) clanModules;
clanModulesViaRoles = lib.mapAttrs (
_moduleName: rolesOptions:
lib.mapAttrs (
_roleName: options:
(nixosOptionsDoc {
inherit options;
warningsAreErrors = true;
}).optionsJSON
) rolesOptions
) modulesRolesOptions;
clanCore =
(nixosOptionsDoc {
options = ((evalClanModules [ ]).options).clan.core or { };