[英]Change nix-build's TMPDIR from shell.nix
我正在尝试使用带有shell.nix
文件的nix-shell
来获得一个干净的开发环境,但我不知道如何更改临时构建目录的位置。
buildInputs
包是在/tmp
中构建的,但是这个路径没有足够的空间,我收到一个error: [Errno 28] No space left on device
。
我尝试使用修改后的TMPDIR
环境变量运行nix-shell
,但它只影响nix-shell
临时文件的位置。 nix-build
文件仍然放在/tmp
中。
我还尝试在shellHook
中为TMPDIR
导出一个新值,但它不起作用。
当nix-shell
启动时,如何更改nix-build
的TMPDIR
?
这是我的shell.nix
:
let
pkgs = import <nixpkgs> {};
in
pkgs.mkShell {
name = "something";
buildInputs = with pkgs; [
python38
python38Packages.pytorchWithCuda
];
shellHook = ''
'';
}
我在 NixOS 论坛上得到了答案:
如果这是多用户安装,则需要修改 Nix 守护进程的 TMPDIR。
为此,我在我的系统上创建了一个/etc/systemd/system/nix-daemon.service.d/override.conf
:
[Service]
Environment=TMPDIR=/var/tmp/nix-daemon
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.