mirror of
https://github.com/NixOS/nix
synced 2025-06-24 22:11:15 +02:00
Expose flake directory to nix fmt as PRJ_ROOT env var
This was discussed in https://github.com/NixOS/nix/issues/8034. I personally like `PRJ_ROOT`, which hopefully avoids some ambiguity around with subflakes. I only implemented this for `nix fmt` because it doesn't let you point at a flake not on your filesystem. macOS compilation fixes
This commit is contained in:
parent
76a4d4c291
commit
17eb2e8400
6 changed files with 88 additions and 13 deletions
|
@ -34,13 +34,38 @@ cat << EOF > flake.nix
|
|||
}
|
||||
EOF
|
||||
|
||||
mkdir subflake
|
||||
cp ./simple.nix ./simple.builder.sh ./formatter.simple.sh "${config_nix}" "$TEST_HOME/subflake"
|
||||
|
||||
cat << EOF > subflake/flake.nix
|
||||
{
|
||||
outputs = _: {
|
||||
formatter.$system =
|
||||
with import ./config.nix;
|
||||
mkDerivation {
|
||||
name = "formatter";
|
||||
buildCommand = ''
|
||||
mkdir -p \$out/bin
|
||||
echo "#! ${shell}" > \$out/bin/formatter
|
||||
cat \${./formatter.simple.sh} >> \$out/bin/formatter
|
||||
chmod +x \$out/bin/formatter
|
||||
'';
|
||||
};
|
||||
};
|
||||
}
|
||||
EOF
|
||||
|
||||
# No arguments check
|
||||
[[ "$(nix fmt)" = "Formatting(0):" ]]
|
||||
[[ "$(nix formatter run)" = "Formatting(0):" ]]
|
||||
[[ "$(nix fmt)" = "PRJ_ROOT=$TEST_HOME Formatting(0):" ]]
|
||||
[[ "$(nix formatter run)" = "PRJ_ROOT=$TEST_HOME Formatting(0):" ]]
|
||||
|
||||
# Argument forwarding check
|
||||
nix fmt ./file ./folder | grep 'Formatting(2): ./file ./folder'
|
||||
nix formatter run ./file ./folder | grep 'Formatting(2): ./file ./folder'
|
||||
nix fmt ./file ./folder | grep "PRJ_ROOT=$TEST_HOME Formatting(2): ./file ./folder"
|
||||
nix formatter run ./file ./folder | grep "PRJ_ROOT=$TEST_HOME Formatting(2): ./file ./folder"
|
||||
|
||||
# test subflake
|
||||
cd subflake
|
||||
nix fmt ./file | grep "PRJ_ROOT=$TEST_HOME/subflake Formatting(1): ./file"
|
||||
|
||||
# Build checks
|
||||
## Defaults to a ./result.
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
#!/usr/bin/env bash
|
||||
echo "Formatting(${#}):" "${@}"
|
||||
echo "PRJ_ROOT=$PRJ_ROOT Formatting(${#}):" "${@}"
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue