如何收集NixOS系统的完整配置?

K..*_*K.. 5 nixos nix

我读了一下关于NixOS的一些内容,并且这些天尝试过,因为我觉得它可以让我只用一个文件来配置Linux.

当我使用它的时候,我安装了一堆软件包nix-env,所以它们最终没有安装configuration.nix,但我可以稍后卸载它们并configuration.nix手动添加它们.我有类似的东西npm i -g <package>会全局安装它,所以它最终会被安装configuration.nix到另一台机器上.

另外,我安装这样的东西zshatom与它们有完全不同的方法,以配置和定制(bashscript,JavaScript的,更少的,等等).

Nix/NixOS是否有办法跟踪特定于软件包的配置?

它已经发生了,我没有看到它吗?就像包的nix表达式知道包将存储其配置的位置等.

我的意思是,我可以将这些软件包添加到主配置中,并且当在另一台PC上使用它时我安装了相同的软件,这很好,但我仍然认为自己也为安装的软件包编写了相当多的配置.

Pet*_*ons 8

  1. 如果您希望通过安装包configuration.nix,那么最简单的方法是将它们添加到environment.systemPackages属性中.其中列出的软件包将自动提供给计算机上的所有用户.据我所知,没有shell命令可用于自动维护该属性.管理该列表的唯一方法是编辑configuration.nix并手动添加您要安装的软件包.

  2. 尼克斯并没有管理特定包的配置文件.您可能知道,NixOS为文件提供了这样的机制/etc,但是$HOME不存在管理配置文件等的类似机制.Github上的PR https://github.com/NixOS/nixpkgs/pull/9250包含了向Nix添加此功能的具体提议,但尚未合并,因为它需要进行一些有争议的更改.