2022-09-18 11:19:23 +01:00
|
|
|
{ pkgs ? import <nixpkgs> { }
|
2022-01-12 12:42:12 +00:00
|
|
|
, lib ? import <nixpkgs/lib>
|
2022-09-18 11:19:23 +01:00
|
|
|
, nmdSrc
|
|
|
|
, nixvimModules ? [ ]
|
|
|
|
, ...
|
|
|
|
}:
|
2022-01-10 19:50:13 +00:00
|
|
|
let
|
|
|
|
nmd = import nmdSrc { inherit pkgs lib; };
|
|
|
|
scrubbedPkgsModule = {
|
|
|
|
imports = [{
|
|
|
|
_module.args = {
|
|
|
|
pkgs = lib.mkForce (nmd.scrubDerivations "pkgs" pkgs);
|
|
|
|
pkgs_i686 = lib.mkForce { };
|
|
|
|
};
|
|
|
|
}];
|
|
|
|
};
|
|
|
|
buildModulesDocs = args:
|
|
|
|
nmd.buildModulesDocs ({
|
|
|
|
moduleRootPaths = [ ./.. ];
|
|
|
|
mkModuleUrl = path:
|
2022-09-18 11:19:23 +01:00
|
|
|
"https://github.com/pta2002/nixvim/blob/main/${path}#blob-path";
|
2022-01-10 19:50:13 +00:00
|
|
|
channelName = "nixvim";
|
|
|
|
} // args);
|
|
|
|
nixvimDocs = buildModulesDocs {
|
|
|
|
modules = [
|
|
|
|
scrubbedPkgsModule
|
2022-09-18 11:19:23 +01:00
|
|
|
] ++ nixvimModules;
|
2022-01-10 19:50:13 +00:00
|
|
|
docBook.id = "nixvim-options";
|
|
|
|
};
|
|
|
|
|
|
|
|
docs = nmd.buildDocBookDocs {
|
|
|
|
pathName = "";
|
|
|
|
modulesDocs = [ nixvimDocs ];
|
|
|
|
documentsDirectory = ./.;
|
|
|
|
documentType = "book";
|
|
|
|
chunkToc = ''
|
2022-09-18 11:19:23 +01:00
|
|
|
<toc>
|
|
|
|
<d:tocentry xmlns:d="http://docbook.org/ns/docbook" linkend="book-nixvim-manual"><?dbhtml filename="index.html"?>
|
|
|
|
<d:tocentry linkend="ch-options"><?dbhtml filename="options.html"?></d:tocentry>
|
|
|
|
<d:tocentry linkend="ch-release-notes"><?dbhtml filename="release-notes.html"?></d:tocentry>
|
|
|
|
</d:tocentry>
|
|
|
|
</toc>
|
2022-01-10 19:50:13 +00:00
|
|
|
'';
|
|
|
|
};
|
2022-09-18 11:19:23 +01:00
|
|
|
in
|
|
|
|
# TODO: Parse this json or something, since docbook isn't working (and it's kind of terrible anyway)
|
|
|
|
nixvimDocs.json
|
|
|
|
|