tvl-depot/third_party/nix/scripts/eval.sh
Griffin Smith 059d90dd6d feat(tvix): Add scripts for local nix daemon testing
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
2020-08-29 01:52:29 +00:00

23 lines
535 B
Bash
Executable file

#!/usr/bin/env bash
set -eo pipefail
# Run `nix eval` 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 eval "$@"