aboutsummaryrefslogtreecommitdiff
path: root/src/nix/get-env.sh
diff options
context:
space:
mode:
authorMaximilian Bosch <maximilian@mbosch.me>2021-05-18 15:07:30 +0200
committerMaximilian Bosch <maximilian@mbosch.me>2021-06-22 19:15:57 +0200
commit3504c811a55ecd58e0712cf24829c67c192f5e80 (patch)
tree97d291caa783961a4c55e3d39c1fac0097de0f20 /src/nix/get-env.sh
parentf1e281c4fe1263a0c848bc8aaf57a0e61a99fa93 (diff)
Add testcase for `nix develop` with `__structuredAttrs`
Diffstat (limited to 'src/nix/get-env.sh')
-rw-r--r--src/nix/get-env.sh9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/nix/get-env.sh b/src/nix/get-env.sh
index b6b8310a9..431440516 100644
--- a/src/nix/get-env.sh
+++ b/src/nix/get-env.sh
@@ -8,6 +8,9 @@ if [[ -n $stdenv ]]; then
source $stdenv/setup
fi
+# In case of `__structuredAttrs = true;` the list of outputs is an associative
+# array with a format like `outname => /nix/store/hash-drvname-outname`, so `__olist`
+# must contain the array's keys (hence `${!...[@]}`) in this case.
if [ -e .attrs.sh ]; then
__olist="${!outputs[@]}"
else
@@ -16,10 +19,10 @@ fi
for __output in $__olist; do
if [[ -z $__done ]]; then
- export > ${!__output}
- set >> ${!__output}
+ export > "${!__output}"
+ set >> "${!__output}"
__done=1
else
- echo -n >> ${!__output}
+ echo -n >> "${!__output}"
fi
done