Nix
如何在 NixOS 之外配置 Nix 環境?
到目前為止,我一直在通過
nix-env -i
安裝包來試用 Nix 包管理器。現在,我想用一個 來管理它~/configuration.nix
,就像這裡的例子一樣,這樣我就可以在我的 dotfiles 中對其進行版本控制。有沒有辦法從我目前的環境中生成這個配置?我能找到的有關使用者或系統級別配置的所有資訊都特定於 NixOS,並假設我已執行
nixos-generate-config
創建文件。nixpkgs 不提供此工具,這讓我認為它僅用於創建 NixOS 安裝,而不用於創建一般配置文件。另外,為什麼 Nix 包管理器在安裝時不創建這個文件?沒有這個文件,Nix(不是 NixOS)使用者如何配置他們安裝的軟體,比如 Vim 外掛?
該文件確實特定於 NixOS,它是在安裝 NixOS 時自動創建的。也就是說,有一些解決方法。
- Nixpkgs 手冊中的https://nixos.org/nixpkgs/manual/#sec-declarative-package-management中描述了其中之一。(在此 PR中添加。)
請注意,從那時起,覆蓋機制就出現了,並且根據第 12 章。覆蓋:“覆蓋類似於自定義 Nixpkgs 的其他方法,特別是第 6.5 節,“通過修改包”
packageOverrides
中描述的屬性。確實,作為一個僅帶有 super 參數的覆蓋。因此適合基本使用,但覆蓋更強大且更易於分發packageOverrides
packageOverrides
。
- 似乎還有一個使用者端聲明性配置正在進行中,但有一段時間沒有更新:https ://github.com/NixOS/nixpkgs/pull/9250
- 另請參閱NixOS Discourse 上針對普通使用者的聲明性包管理討論。