尼克斯 shell #!在父目录中引用 shell.nix

Nix shell #! to refer to to shell.nix in a parent directory

我最近几乎所有的脚本都是从

开始的
#!/usr/bin/env nix-shell
#! nix-shell -i bash
set -e

但这要求 default.nix/shell.nix 与脚本位于同一目录中,但情况并非总是如此。有没有办法告诉 nix-shell 查看 *.nix 文件的所有父目录?

#! nix-shell后面的基本都是正规的nix-shell参数,所以可以这样加上文件名。

#!/usr/bin/env nix-shell
#! nix-shell -i bash ../shell.nix
set -e

路径解析是相对于脚本文件发生的。 当您使用目录路径时,它会在目录中查找 default.nix,而不是 shell.nix