在 NixOS 中安装软件包时,更改 configuration.nix 加 nixos-rebuild-switch 与使用 nix-shell 有什么区别?

在 NixOS 中安装软件包时,更改 configuration.nix 加 nixos-rebuild-switch 与使用 nix-shell 有什么区别?

我在 NixOS 上安装东西的通常过程正在改变我的配置.nix、执行nixos-rebuild switch、重新启动并选择新的(最后一个)操作系统代。

我知道也可以通过 nix-shell 安装软件包(但我从未使用过它)。

这两个选项有什么区别?什么时候一个比另一个更合适?

答案1

nix-shells 适用于您不一定想要保留的短暂环境。
也就是说,您听说过这个很酷的新工具,并且想尝试一下,因此您打开nix-shell并从那里运行它。该工具只是该 shell 环境的一部分。其他 shell 将无法找到它。

如果该工具不符合您的喜好,您可以确定 A. 它不会污染您的环境的其余部分,B.nix-shell再次关闭该工具后,下一次垃圾收集将释放它占用的空间。

但是,如果您确实喜欢它并希望它成为您环境中永久的一部分,那么您就可以将它添加到environment.systemPackages.

相关内容