2024-01-12 23:22:03 +01:00
|
|
|
{
|
2025-05-15 17:06:39 +01:00
|
|
|
lib,
|
2024-01-12 23:22:03 +01:00
|
|
|
options-json,
|
2025-05-15 14:54:58 +01:00
|
|
|
lib-docs,
|
2024-01-12 23:22:03 +01:00
|
|
|
runCommand,
|
|
|
|
installShellFiles,
|
|
|
|
nixos-render-docs,
|
2024-02-14 23:38:26 +01:00
|
|
|
pandoc,
|
2024-05-05 19:39:35 +02:00
|
|
|
}:
|
|
|
|
let
|
2025-05-15 17:59:28 +01:00
|
|
|
markdownSections = [
|
|
|
|
../user-guide/faq.md
|
|
|
|
../user-guide/config-examples.md
|
|
|
|
] ++ lib.mapAttrsToList (name: file: "${lib-docs}/${file}") lib-docs.pages;
|
2024-05-05 19:39:35 +02:00
|
|
|
manHeader =
|
|
|
|
runCommand "nixvim-general-doc-manpage"
|
|
|
|
{
|
|
|
|
nativeBuildInputs = [ pandoc ];
|
|
|
|
}
|
|
|
|
''
|
2025-05-15 17:06:39 +01:00
|
|
|
function mkMDSection {
|
|
|
|
file="$1"
|
|
|
|
pandoc --lua-filter ${./filter.lua} -f gfm -t man "$file"
|
|
|
|
}
|
2024-05-05 19:39:35 +02:00
|
|
|
mkdir -p $out
|
2025-05-15 17:06:39 +01:00
|
|
|
|
|
|
|
(
|
|
|
|
cat ${./nixvim-header-start.5}
|
|
|
|
|
2025-05-15 17:38:40 +01:00
|
|
|
${lib.concatMapStringsSep "\n" (file: "mkMDSection ${file}") markdownSections}
|
2025-05-15 17:06:39 +01:00
|
|
|
|
|
|
|
cat ${./nixvim-header-end.5}
|
|
|
|
) >$out/nixvim-header.5
|
2024-05-05 19:39:35 +02:00
|
|
|
'';
|
2024-02-14 23:38:26 +01:00
|
|
|
in
|
2024-05-05 19:39:35 +02:00
|
|
|
# FIXME add platform specific docs to manpage
|
|
|
|
runCommand "nixvim-configuration-reference-manpage"
|
|
|
|
{
|
|
|
|
nativeBuildInputs = [
|
|
|
|
installShellFiles
|
|
|
|
nixos-render-docs
|
|
|
|
];
|
|
|
|
}
|
|
|
|
''
|
2024-02-14 23:38:26 +01:00
|
|
|
# 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
|
|
|
|
''
|