about summary refs log tree commit diff
path: root/tools/nixery/default.nix
diff options
context:
space:
mode:
authorVincent Ambo <tazjin@google.com>2019-08-04T21·45+0100
committerVincent Ambo <github@tazj.in>2019-08-04T23·32+0100
commit2bef0ba2403f20826fbd615b0abb91cb2aff0350 (patch)
tree701e593ef37ef96b029fb05ebb7646e8c8a964f1 /tools/nixery/default.nix
parent85e8d760fcf16e50ba8e055561ac418f4f5bce58 (diff)
feat(build): Build Nixery book and embed it into Nixery image
Executes the previously added mdBook on the previously added book
source to yield a directory that can be served by Nixery on its index
page.

This is one of those 'I <3 Nix' things due to how easy it is to do.
Diffstat (limited to 'tools/nixery/default.nix')
-rw-r--r--tools/nixery/default.nix18
1 files changed, 10 insertions, 8 deletions
diff --git a/tools/nixery/default.nix b/tools/nixery/default.nix
index 28b94af5bd..4f0b14c903 100644
--- a/tools/nixery/default.nix
+++ b/tools/nixery/default.nix
@@ -48,13 +48,6 @@ rec {
     cat ${./build-registry-image.nix} > $out
   '';
 
-  # Static files to serve on the Nixery index. This is used primarily
-  # for the demo instance running at nixery.dev and provides some
-  # background information for what Nixery is.
-  nixery-static = runCommand "nixery-static" {} ''
-    mkdir $out
-    cp ${./static}/* $out
-  '';
   # nixpkgs currently has an old version of mdBook. A new version is
   # built here, but eventually the update will be upstreamed
   # (nixpkgs#65890)
@@ -73,6 +66,10 @@ rec {
     cargoSha256 = "0qwhc42a86jpvjcaysmfcw8kmwa150lmz01flmlg74g6qnimff5m";
   };
 
+  # Use mdBook to build a static asset page which Nixery can then
+  # serve. This is primarily used for the public instance at
+  # nixery.dev.
+  nixery-book = callPackage ./docs { inherit mdbook; };
 
   # Wrapper script running the Nixery server with the above two data
   # dependencies configured.
@@ -81,7 +78,7 @@ rec {
   # are installing Nixery directly.
   nixery-bin = writeShellScriptBin "nixery" ''
     export NIX_BUILDER="${nixery-builder}"
-    export WEB_DIR="${nixery-static}"
+    export WEB_DIR="${nixery-book}"
     exec ${nixery-server}/bin/nixery
   '';
 
@@ -107,6 +104,11 @@ rec {
       mkdir -p /etc/nix
       echo 'sandbox = false' >> /etc/nix/nix.conf
 
+      # In some cases users building their own image might want to
+      # customise something on the inside (e.g. set up an environment
+      # for keys or whatever).
+      #
+      # This can be achieved by setting a 'preLaunch' script.
       ${preLaunch}
 
       exec ${nixery-bin}/bin/nixery