我还没有找到有关在 Nix 派生中处理临时文件的任何信息。
我找到了$TMP
和$TMPDIR
env vars,但它们都指向/tmp
,这是系统全局的。
{
pkgs ? import <nixpkgs> {}
}:
pkgs.stdenv.mkDerivation {
pname = "show-tmp"
version = "0.1.0";
src = ./.;
configurePhase = ''
echo "tmp = $tmp; TMP = $TMP; TMPDIR = $TMPDIR"
'';
buildPhase = '':'';
installPhase = '':'';
}
变量$tmp
未在 mkDerivation 中定义。我会期待这样的事情,因为其他派生范围变量遵循小写风格,例如$out
.
/tmp 的问题很明显——它是全局目录。我需要担心碰撞和清洁。
我的派生挂钩存档了一个大文件夹树。