虽然 Nix/OS wiki 和手册提供了很多优秀的信息,但我仍然无法获得架构概述。为问题的数量和幼稚道歉;随意回答一个子集:
1. 什么是 Nix 包?
根据我对手册的阅读,Nix 包是:
一世。一个 Nix 表达式,用于获取构建所需的源和依赖项。
ii. 一个builder
脚本。
iii. 上的列表all-packages.nix
。
源代码和二进制文件以及生成的派生文件放在 中nix/store
,通道自动更新,通过使用共享的二进制缓存有效地保持更新。
一个。这是正确和完整的吗?
湾。.nix 表达式存储在哪里?
C。nix/store
如果它们具有相同的体系结构,我可以简单地在不同机器之间复制一个包文件夹吗?
2. 什么构成了 Nix 环境?
一个。环境在哪里以及如何定义?
湾。用户资料呢?
C。该命令如何nix-shell
工作?跟nix-env
命令有关系吗?
3. NixOSconfiguration.nix
和 Nix 环境之间的关系是什么?
从手册和 wiki 我收集到 NixOS 是一个 Nix 包,并且 Nix 创建了一个基于configuration.nix
.
一个。这是真的吗,如果是这样,除此之外做什么nixos-rebuild
和做什么?nixos-install
湾。是否可以逆转这个过程,即从环境中生成简洁的包或配置文件?
C。我可以用 NixOS 做什么而我不能用 Nix 做?
4. 使用 Nix 创建可移植且可重现的环境以与同事共享时,有哪些最佳实践?
一个。共享桌面、服务器和开发环境的各种方法是什么?
湾。这些方法的用例是什么?
C。相对于可移植性和可访问性,它们的优缺点是什么?
5. 悬而未决的问题:关于 Nix/OS 架构还有哪些重要的注意事项?