headplane/nix/docs.nix
2025-08-18 13:10:38 -04:00

28 lines
541 B
Nix

{
lib,
nixosOptionsDoc,
runCommand,
nodejs,
...
}: let
eval = lib.evalModules {
modules = [./options.nix];
};
transformOptions = opt:
if (lib.hasPrefix "_" opt.name)
then
opt
// {
internal = true;
visible = false;
}
else opt;
optionsDoc = nixosOptionsDoc {
inherit (eval) options;
inherit transformOptions;
};
in
runCommand "headplane-nixos-docs.json" {} ''
${nodejs}/bin/node ${./docs.js} ${optionsDoc.optionsJSON}/share/doc/nixos/options.json > $out
''