{ lib, options-json, lib-docs, runCommand, installShellFiles, nixos-render-docs, pandoc, }: let markdownSections = lib.mapAttrsToList (name: file: "${lib-docs}/${file}") lib-docs.pages ++ [ ../user-guide/faq.md ../user-guide/config-examples.md ]; manHeader = runCommand "nixvim-general-doc-manpage" { nativeBuildInputs = [ pandoc ]; } '' function mkMDSection { file="$1" pandoc --lua-filter ${./filter.lua} -f gfm -t man "$file" } mkdir -p $out ( cat ${./nixvim-header-start.5} ${lib.concatMapStringsSep "\n" (file: "mkMDSection ${file}") markdownSections} cat ${./nixvim-header-end.5} ) >$out/nixvim-header.5 ''; in # FIXME add platform specific docs to manpage 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 ''