在用户的主目录中构建自定义包

building custom packages in a user's home directory

我注意到由于主目录权限的原因,任何在用户主目录中构建自定义包的尝试都会失败:

drwx------

加上 nix-rebuild switch 使用 nixbld{n} 用户这一事实。

有什么办法可以解决这个问题吗?是否可以在用户的​​主目录中构建自定义包(例如用户配置文件),或者这是否违反了 NixOS 的基本原则?

Can custom packages (user config files, for example) be built in a user's home directory, or is does this go against the underlying principles of NixOS?

不,您不能在用户的主目录中构建,因为这违背了 Nix 的设计。 Nix 作为 nixbld{n} 用户在 /tmp 运行 中执行实际构建,并将输出存储在 /nix/store 中。

一般来说,NixOS 不提供处理用户配置的机制。但是也有例外,比如添加SSH认证密钥。