mirror of
https://github.com/privatevoid-net/nix-super.git
synced 2024-11-22 22:16:16 +02:00
1da18e85ba
$TEST_ROOT typically contains read-only files/directories (e.g. the Nix store). So we have to make it writable first.
41 lines
1 KiB
Bash
Executable file
41 lines
1 KiB
Bash
Executable file
test -n "$TEST_ROOT"
|
|
# We would delete any daemon socket, so let's stop the daemon first.
|
|
killDaemon
|
|
# Destroy the test directory that may have persisted from previous runs
|
|
if [[ -e "$TEST_ROOT" ]]; then
|
|
chmod -R u+w "$TEST_ROOT"
|
|
rm -rf "$TEST_ROOT"
|
|
fi
|
|
mkdir -p "$TEST_ROOT"
|
|
mkdir "$TEST_HOME"
|
|
|
|
mkdir "$NIX_STORE_DIR"
|
|
mkdir "$NIX_LOCALSTATE_DIR"
|
|
mkdir -p "$NIX_LOG_DIR"/drvs
|
|
mkdir "$NIX_STATE_DIR"
|
|
mkdir "$NIX_CONF_DIR"
|
|
|
|
cat > "$NIX_CONF_DIR"/nix.conf <<EOF
|
|
build-users-group =
|
|
keep-derivations = false
|
|
sandbox = false
|
|
experimental-features = nix-command
|
|
gc-reserved-space = 0
|
|
substituters =
|
|
flake-registry = $TEST_ROOT/registry.json
|
|
show-trace = true
|
|
include nix.conf.extra
|
|
trusted-users = $(whoami)
|
|
EOF
|
|
|
|
cat > "$NIX_CONF_DIR"/nix.conf.extra <<EOF
|
|
fsync-metadata = false
|
|
extra-experimental-features = flakes
|
|
!include nix.conf.extra.not-there
|
|
EOF
|
|
|
|
# Initialise the database.
|
|
# The flag itself does nothing, but running the command touches the store
|
|
nix-store --init
|
|
# Sanity check
|
|
test -e "$NIX_STATE_DIR"/db/db.sqlite
|