我试图将nix-shell与一个shell.nix文件一起使用,以获得一个干净的开发环境,但我不知道如何更改临时构建目录的位置。
buildInputs包是在/tmp中构建的,但是这个路径没有足够的空间,我在构建过程中得到了一个error: [Errno 28] No space left on device。
我尝试使用修改后的nix-shell环境变量运行TMPDIR,但它只影响nix-shell临时文件的位置。nix-build文件仍然放在/tmp中。
我还试图在TMPDIR中导出一个新的shellHook值,但它不起作用。
当TMPDIR of nix-build由nix-shell启动时,如何更改
这是我的shell.nix
let
pkgs = import <nixpkgs> {};
in
pkgs.mkShell {
name = "something";
buildInputs = with pkgs; [
python38
python38Packages.pytorchWithCuda
];
shellHook = ''
'';
}发布于 2022-07-11 08:54:42
我得到了答案,关于NixOS论坛
如果这是mutli用户安装,则需要修改Nix守护进程的TMPDIR。
为了在我的系统上这样做,我创建了一个/etc/systemd/system/nix-daemon.service.d/override.conf:
[Service]
Environment=TMPDIR=/var/tmp/nix-daemonhttps://stackoverflow.com/questions/72929271
复制相似问题