Merge pull request #5546 from NixOS/allow-paths-in-flake-local-options
allow paths in flake local options
This commit is contained in:
commit
3ec02c6743
|
@ -251,6 +251,10 @@ static Flake getFlake(
|
||||||
forceTrivialValue(state, *setting.value, *setting.pos);
|
forceTrivialValue(state, *setting.value, *setting.pos);
|
||||||
if (setting.value->type() == nString)
|
if (setting.value->type() == nString)
|
||||||
flake.config.settings.insert({setting.name, state.forceStringNoCtx(*setting.value, *setting.pos)});
|
flake.config.settings.insert({setting.name, state.forceStringNoCtx(*setting.value, *setting.pos)});
|
||||||
|
else if (setting.value->type() == nPath) {
|
||||||
|
PathSet emptyContext = {};
|
||||||
|
flake.config.settings.insert({setting.name, state.coerceToString(*setting.pos, *setting.value, emptyContext, false, true, true)});
|
||||||
|
}
|
||||||
else if (setting.value->type() == nInt)
|
else if (setting.value->type() == nInt)
|
||||||
flake.config.settings.insert({setting.name, state.forceInt(*setting.value, *setting.pos)});
|
flake.config.settings.insert({setting.name, state.forceInt(*setting.value, *setting.pos)});
|
||||||
else if (setting.value->type() == nBool)
|
else if (setting.value->type() == nBool)
|
||||||
|
|
|
@ -11,13 +11,13 @@ rm -f post-hook-ran
|
||||||
cat <<EOF > echoing-post-hook.sh
|
cat <<EOF > echoing-post-hook.sh
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
echo "ThePostHookRan" > $PWD/post-hook-ran
|
echo "ThePostHookRan as \$0" > $PWD/post-hook-ran
|
||||||
EOF
|
EOF
|
||||||
chmod +x echoing-post-hook.sh
|
chmod +x echoing-post-hook.sh
|
||||||
|
|
||||||
cat <<EOF > flake.nix
|
cat <<EOF > flake.nix
|
||||||
{
|
{
|
||||||
nixConfig.post-build-hook = "$PWD/echoing-post-hook.sh";
|
nixConfig.post-build-hook = ./echoing-post-hook.sh;
|
||||||
nixConfig.allow-dirty = false; # See #5621
|
nixConfig.allow-dirty = false; # See #5621
|
||||||
|
|
||||||
outputs = a: {
|
outputs = a: {
|
||||||
|
@ -33,3 +33,13 @@ clearStore
|
||||||
|
|
||||||
nix build --accept-flake-config
|
nix build --accept-flake-config
|
||||||
test -f post-hook-ran || fail "The post hook should have ran"
|
test -f post-hook-ran || fail "The post hook should have ran"
|
||||||
|
|
||||||
|
# Make sure that the path to the post hook doesn’t change if we change
|
||||||
|
# something in the flake.
|
||||||
|
# Otherwise the user would have to re-validate the setting each time.
|
||||||
|
mv post-hook-ran previous-post-hook-run
|
||||||
|
echo "# Dummy comment" >> flake.nix
|
||||||
|
clearStore
|
||||||
|
nix build --accept-flake-config
|
||||||
|
diff -q post-hook-ran previous-post-hook-run || \
|
||||||
|
fail "Both post hook runs should report the same filename"
|
||||||
|
|
Loading…
Reference in a new issue