Files
headplane/nix/docs.nix
T
Igor Ramazanov fdbfe584c5 feat: nix: add a new mise task and nix flake output to generate NixOS docs
Adds a new Nix flake output `headplane-nixos-docs` which generates a
Markdown page with all NixOS `services.headplane.settings.*` options.

Replaces existing handwritten options documentation.
2025-08-18 13:10:38 -04:00

25 lines
468 B
Nix

{
lib,
nixosOptionsDoc,
runCommand,
...
}: 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.md" {} "cat ${optionsDoc.optionsCommonMark} > $out"