mediocre-blog/srv-dev-env.sh
2022-05-20 13:37:43 -06:00

30 lines
735 B
Bash

test_dir="$(mktemp -d)"
mkdir -p "$test_dir"/run
mkdir -p "$test_dir"/data
test_cfg="(import ./config.nix) // {
runDir=\"${test_dir}/run\";
dataDir=\"${test_dir}/data\";
}"
entrypoint=$(nix-build --no-out-link -A entrypoint \
--arg baseConfig "$test_cfg" \
--arg skipServices '["srv"]')
$entrypoint &
trap "kill $!; wait; rm -rf $test_dir" EXIT
# NOTE this is a bit of a hack... the location of the redis socket's source of
# truth is in default.nix, but it's not clear how to get that from there to
# here, so we reproduce the calculation here.
while [ ! -e $test_dir/run/redis ]; do
echo "waiting for redis unix socket"
sleep 1
done
nix-shell -A srv.shell \
--arg baseConfig "$test_cfg" \
"$@"