2024-01-12 23:22:03 +01:00
|
|
|
{
|
|
|
|
options-json,
|
|
|
|
runCommand,
|
|
|
|
installShellFiles,
|
|
|
|
nixos-render-docs,
|
2024-02-14 23:38:26 +01:00
|
|
|
pandoc,
|
|
|
|
}: let
|
2024-02-18 15:56:18 +01:00
|
|
|
manualFilter = ''
|
2024-02-14 23:38:26 +01:00
|
|
|
local text = pandoc.text
|
|
|
|
|
|
|
|
function Header(el)
|
|
|
|
if el.level == 1 then
|
|
|
|
return el:walk {
|
|
|
|
Str = function(el)
|
|
|
|
return pandoc.Str(text.upper(el.text))
|
|
|
|
end
|
|
|
|
}
|
|
|
|
end
|
|
|
|
end
|
2024-02-18 15:56:18 +01:00
|
|
|
|
|
|
|
function Link(el)
|
|
|
|
return el.content
|
|
|
|
end
|
2024-02-14 23:38:26 +01:00
|
|
|
'';
|
|
|
|
|
2024-02-18 15:56:18 +01:00
|
|
|
manHeader = let
|
|
|
|
mkMDSection = file: "<(pandoc --lua-filter <(echo \"$manualFilter\") -f gfm -t man ${file})";
|
|
|
|
in
|
2024-02-14 23:38:26 +01:00
|
|
|
runCommand "nixvim-general-doc-manpage" {
|
|
|
|
nativeBuildInputs = [pandoc];
|
2024-02-18 15:56:18 +01:00
|
|
|
inherit manualFilter;
|
2024-02-14 23:38:26 +01:00
|
|
|
} ''
|
|
|
|
mkdir -p $out
|
|
|
|
cat \
|
|
|
|
${./nixvim-header-start.5} \
|
2024-02-18 15:56:18 +01:00
|
|
|
${mkMDSection ../user-guide/helpers.md} \
|
2024-02-22 08:22:21 +01:00
|
|
|
${mkMDSection ../user-guide/extending-config.md} \
|
2024-02-18 15:56:18 +01:00
|
|
|
${mkMDSection ../user-guide/faq.md} \
|
2024-02-14 23:38:26 +01:00
|
|
|
${./nixvim-header-end.5} \
|
|
|
|
>$out/nixvim-header.5
|
|
|
|
'';
|
|
|
|
in
|
|
|
|
runCommand "nixvim-configuration-reference-manpage" {
|
|
|
|
nativeBuildInputs = [installShellFiles nixos-render-docs];
|
|
|
|
} ''
|
|
|
|
# Generate man-pages
|
|
|
|
mkdir -p $out/share/man/man5
|
|
|
|
nixos-render-docs -j $NIX_BUILD_CORES options manpage \
|
|
|
|
--revision unstable \
|
|
|
|
--header ${manHeader}/nixvim-header.5 \
|
|
|
|
--footer ${./nixvim-footer.5} \
|
|
|
|
${options-json}/share/doc/nixos/options.json \
|
|
|
|
$out/share/man/man5/nixvim.5
|
|
|
|
compressManPages $out
|
|
|
|
''
|