Nix教程:在主目录中安装的步骤

8

我正在尝试跟随tutorial,以便在我的主目录中安装Nix软件包管理器,而不是/nix

我正在进行PRoot安装(请参见教程中的第2步)。最后,该教程建议在构建本地软件包部分中聪明地操作,以便能够在没有PRoot的情况下运行软件包:

要在本地运行软件包(无需PRoot),必须从源代码构建它们,因为所有到Nix存储的路径都是硬编码的。这很简单:

mkdir $HOME/nix

nix-channel --update

env NIX_STORE_DIR=$HOME/nix nix-env -i nix

现在,您的Nix存储将使用新路径建立起来。构建的二进制文件可以直接从那里运行。

我这样做了,但我不知道它如何使我摆脱 PRoot。如果我不使用 PRoot 的 /nix 挂载点,什么都不起作用(没有 nix-env 可执行文件,我无法安装新软件包)。
这个 NIX_STORE_DIR 环境变量应该放在我的 .bashrc 文件中吗?
似乎我总是需要运行 PRoot,因为 ~/.nix-profile 指向一个 /nix/... 目录: .nix-profile -> /nix/var/nix/profiles/default 教程中还有更多步骤(5、6),我应该按照它们的要求进行吗?看起来它们只适用于手动安装(第4步),尽管这并不明确。
任何帮助都将不胜感激 :)

1
在最后一步完成之后,您能否访问$HOME/nix/var/nix/profiles/default/nix-env - Rahul Gopinath
2个回答

3

对于任何偶然发现这个旧问题的人:目前没有不需要root权限安装Nix的支持方式。上述维基已经被移动到https://nixos.wiki/wiki/Nix_Installation_Guide。它可能已经过时。PRoot可能有效,但即使如此,在不同路径重建整个存储库也不是一个好主意,特别是因为二进制缓存不能帮助你,你需要构建所有内容

我建议在虚拟机或云服务器中尝试使用Nix。


2
我刚在Nix 2.0.4上使它工作了。这并不太难,只是没有文档记录。代码在这里 - jefdaj

3

谷歌的未来人,虽然它还不支持,但确实有效。这里的脚本会安装一些依赖项,在您选择的目录中构建临时Nix,并使用它来安装正确版本。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接