diff --git a/docs/default.nix b/docs/default.nix index 194c74c6..5ed26b78 100644 --- a/docs/default.nix +++ b/docs/default.nix @@ -132,5 +132,9 @@ lib.fix ( inherit evaledModules transformOptions; inherit (self) search lib-docs; }; + + serve-docs = pkgs.callPackage ./server { + inherit (self) docs; + }; } ) diff --git a/docs/server/default.nix b/docs/server/default.nix new file mode 100644 index 00000000..04a931c1 --- /dev/null +++ b/docs/server/default.nix @@ -0,0 +1,19 @@ +{ + lib, + runCommand, + makeBinaryWrapper, + python3, + docs, +}: +runCommand "serve-docs" + { + nativeBuildInputs = [ makeBinaryWrapper ]; + meta.mainProgram = "server"; + } + '' + mkdir -p $out/bin + makeWrapper ${lib.getExe python3} \ + $out/bin/server \ + --add-flags ${./server.py} \ + --chdir ${docs} + '' diff --git a/flake/dev/server.py b/docs/server/server.py similarity index 100% rename from flake/dev/server.py rename to docs/server/server.py diff --git a/flake/dev/devshell.nix b/flake/dev/devshell.nix index 8bbc9426..06930895 100644 --- a/flake/dev/devshell.nix +++ b/flake/dev/devshell.nix @@ -101,14 +101,7 @@ help = "Build and serve documentation locally"; command = '' echo -e "=> Building nixvim documentation...\n" - - doc_derivation=$(${nix} build .#docs --no-link --print-out-paths) - - echo -e "\n=> Documentation successfully built ('$doc_derivation')" - - echo -e "\n=> You can then open your browser to view the doc\n" - - (cd "$doc_derivation"/share/doc && ${pkgs.lib.getExe pkgs.python3} ${./server.py}) + nix run .#docs ''; } { diff --git a/flake/packages.nix b/flake/packages.nix index 03451350..f5e310ce 100644 --- a/flake/packages.nix +++ b/flake/packages.nix @@ -7,11 +7,15 @@ { perSystem = { + config, inputs', system, ... }: { + # Run the docs server when using `nix run .#docs` + apps.docs.program = config.packages.serve-docs; + packages = import ../docs { nixvim = self; inherit helpers;