nix/tests/flake-local-settings.sh
regnat 1f3c3a3785 Make the flake options work when using the daemon
When setting flake-local options (with the `nixConfig` field), forward
these options to the daemon in case we’re using one.

This is necessary in particular for options like `binary-caches` or
`post-build-hook` to make sense.

Fix <343239fc8a (r44356843)>
2021-11-05 16:19:16 +01:00

36 lines
715 B
Bash

source common.sh
clearStore
rm -rf $TEST_HOME/.cache $TEST_HOME/.config $TEST_HOME/.local
cp ./simple.nix ./simple.builder.sh ./config.nix $TEST_HOME
cd $TEST_HOME
rm -f post-hook-ran
cat <<EOF > echoing-post-hook.sh
#!/bin/sh
echo "ThePostHookRan" > $PWD/post-hook-ran
EOF
chmod +x echoing-post-hook.sh
cat <<EOF > flake.nix
{
nixConfig.post-build-hook = "$PWD/echoing-post-hook.sh";
outputs = a: {
defaultPackage.$system = import ./simple.nix;
};
}
EOF
# Ugly hack for testing
mkdir -p .local/share/nix
cat <<EOF > .local/share/nix/trusted-settings.json
{"post-build-hook":{"$PWD/echoing-post-hook.sh":true}}
EOF
nix build
test -f post-hook-ran || fail "The post hook should have ran"