about summary refs log tree commit diff
path: root/third_party/nix/scripts/repl.sh
diff options
context:
space:
mode:
authorGriffin Smith <grfn@gws.fyi>2020-08-29T01·42-0400
committerglittershark <grfn@gws.fyi>2020-08-29T01·52+0000
commit059d90dd6dd317b29bde5517901fa95695792d2c (patch)
tree93243a24b4f3a703c76ff865a48bb0012579fb48 /third_party/nix/scripts/repl.sh
parent96ea76bd5984e4f11c9807ec481e1ed15deccd69 (diff)
feat(tvix): Add scripts for local nix daemon testing r/1735
These are the scripts I use to test the nix daemon interaction with a
non-/nix store directory during development, copied almost verbatim from
my cmake build directory. As such, there's likely a *lot* of cleanup and
deduplication to be done here, but I'm committing these as is in the
hope that others can benefit from them somehow.

Change-Id: I42a10a85e6731fa2014c7ea9738224d678a8376b
Reviewed-on: https://cl.tvl.fyi/c/depot/+/1881
Reviewed-by: kanepyork <rikingcoding@gmail.com>
Tested-by: BuildkiteCI
Diffstat (limited to 'third_party/nix/scripts/repl.sh')
-rwxr-xr-xthird_party/nix/scripts/repl.sh23
1 files changed, 23 insertions, 0 deletions
diff --git a/third_party/nix/scripts/repl.sh b/third_party/nix/scripts/repl.sh
new file mode 100755
index 000000000000..d068e807903a
--- /dev/null
+++ b/third_party/nix/scripts/repl.sh
@@ -0,0 +1,23 @@
+#!/usr/bin/env bash
+set -eo pipefail
+
+# Run `nix repl` using a local store, for use during development. Intended to
+# be run from the cmake build directory
+
+if [ "$#" -gt 0 ] && [ "$1" = "--debug" ]; then
+    gdb=(gdb --args)
+    shift 1
+elif [ "$1" = "--rr" ]; then
+    gdb=(rr record)
+    shift 1
+else
+    gdb=()
+fi
+
+make -j 10
+NIX_STORE_DIR=$(pwd)/nix/store \
+    NIX_LOG_DIR=$(pwd)/nix/var/log/nix \
+    NIX_STATE_DIR=$(pwd)/nix/var/nix \
+    XDG_CACHE_HOME=$(pwd)/cache \
+    NIX_REMOTE=daemon \
+    ${gdb[*]} ./src/nix repl "$@"