From 436c14233c38bfb8bf3002636f84ea8e7ada207f Mon Sep 17 00:00:00 2001 From: Youwen Wu Date: Thu, 2 Jan 2025 02:56:49 -0800 Subject: [PATCH] feat: add documentation auto generation --- docs/default.nix | 27 +++++++++++++++++++++++++++ flake.nix | 2 ++ 2 files changed, 29 insertions(+) create mode 100644 docs/default.nix diff --git a/docs/default.nix b/docs/default.nix new file mode 100644 index 0000000..c23e904 --- /dev/null +++ b/docs/default.nix @@ -0,0 +1,27 @@ +{ + lib, + runCommand, + nixosOptionsDoc, + neovim, + ... +}: +let + # evaluate our options + eval = lib.evalModules { + modules = [ ../modules/default.nix ]; + check = false; + specialArgs = { + pkgs = { + inherit neovim; + }; + }; + }; + # generate our docs + optionsDoc = nixosOptionsDoc { + inherit (eval) options; + }; +in +# create a derivation for capturing the markdown output +runCommand "options-doc.md" { } '' + tail -n +64 ${optionsDoc.optionsCommonMark} >> $out +'' diff --git a/flake.nix b/flake.nix index 5ddd45f..88b38ae 100755 --- a/flake.nix +++ b/flake.nix @@ -225,6 +225,8 @@ marksman ]; }; + + packages.docs = pkgs.callPackage ./docs { }; }; }; }