Files
clan-core/docs/nix/get-module-docs.nix
2024-11-20 11:01:28 +01:00

38 lines
840 B
Nix

{
modulesRolesOptions,
nixosOptionsDoc,
clanModules,
evalClanModules,
lib,
}:
{
# clanModules docs
clanModulesViaNix = lib.mapAttrs (
name: module:
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 { };
warningsAreErrors = true;
}).optionsJSON;
}