NixOS 可重現的使用者和軟體包?

NixOS 可重現的使用者和軟體包?

我是新來的尼克斯作業系統並嘗試學習其概念。我對此感到興奮的原因之一是我希望它能夠為我提供一個可重現的系統配置,類似於使用適用於本地主機的 Ansible。但是,我不確定如何實現這一目標。

我知道environment.systemPackages/etc/nixos/configuration.nix,但這些只是系統範圍的套件。我也知道nix-env命令可以為用戶安裝一個包,但我寧願在一個文件中聲明這樣一個包,我可以將其簽入原始碼管理。

是否有一個我可以配置的特定文件(類似於劇本),我可以在其中為用戶聲明一組包?或至少指定其“用戶環境”或者“個人資料”(不確定哪個術語是正確的)?

理想情況下,我可以獲取一些文件,將它們複製到另一台計算機,運行命令,並且它與舊計算機處於相同的狀態,包括具有不同包集的多個用戶。

最後,我的用例是否意味著我不應該使用nix-env安裝軟體套件?

答案1

所以我詢問了 Freenode #nixos IRC 頻道上的人們,他們引導我找到了這個答案。

我需要創建一個~/.nixpkgs/config.nix文件。在該文件中,我需要建立一個包集合使用建構環境函數並安裝它nix-env

使用安裝臨時包nix-env不更新~/.nixpkgs/config.nix,所以對於我的用例,我想避免這樣做。儘管如此,值得注意的是,使用安裝臨時套件nix-env對於實驗仍然有用,因為使用開關安裝套件集合--remove-all會刪除該套件集合中不存在的所有內容。

相關內容