parent
20e5b7dac4
commit
c1ab913f55
6 changed files with 187 additions and 17 deletions
apps/gen-docs
13
apps/gen-docs/getModuleMeta.nix
Normal file
13
apps/gen-docs/getModuleMeta.nix
Normal file
|
@ -0,0 +1,13 @@
|
|||
attr: selfPath: let
|
||||
inherit (builtins) mapAttrs replaceStrings;
|
||||
|
||||
modules = import "${selfPath}/${attr}" {description = true;};
|
||||
|
||||
trimNewlines = s: replaceStrings ["\n"] [" "] s;
|
||||
in {
|
||||
attrs =
|
||||
mapAttrs (_: v: {
|
||||
desc = trimNewlines v;
|
||||
})
|
||||
modules;
|
||||
}
|
|
@ -9,8 +9,20 @@ substitute() {
|
|||
) -t markdown --template "$FLAKE/apps/gen-docs/templates/$2.md" -o "$FLAKE/$2/README.md"
|
||||
}
|
||||
|
||||
substituteModule() {
|
||||
echo '' | pandoc --metadata-file <(
|
||||
nix eval \
|
||||
--impure \
|
||||
--json \
|
||||
--expr "\"$FLAKE\"" \
|
||||
--apply "(import \"$FLAKE/apps/gen-docs/getModuleMeta.nix\") \"$1\"" |
|
||||
jq -r
|
||||
) -t markdown --template "$FLAKE/apps/gen-docs/templates/$1.md" -o "$FLAKE/$1/README.md"
|
||||
}
|
||||
|
||||
# TODO: add homeManagerModules, lib, modules, nixFastChecks, overlays, scopedPackages
|
||||
substitute "appsPackages" "apps" "getPackageMeta"
|
||||
substitute "nixosConfigurations" "configurations" "getConfigMeta"
|
||||
substitute "devShells" "devShells" "getPackageMeta"
|
||||
substitute "packages" "packages" "getPackageMeta"
|
||||
substituteModule "modules"
|
||||
|
|
11
apps/gen-docs/templates/modules.md
Normal file
11
apps/gen-docs/templates/modules.md
Normal file
|
@ -0,0 +1,11 @@
|
|||
# nixosModules
|
||||
|
||||
This directory contains every modules for NixOS exposed by this flake.
|
||||
|
||||
## List of my modules found in `self.nixosModules`
|
||||
|
||||
| Name | Description |
|
||||
| ---- | ----------- |
|
||||
$for(attrs/pairs)$
|
||||
| `$it.key$` | $it.value.desc/nowrap$ |
|
||||
$endfor$
|
Loading…
Add table
Add a link
Reference in a new issue