Dendritic 模式
English | 简体中文
Dendritic 模式是一种 Nix 配置组织模式,每一个 Nix 文件都是一个 flake-parts 模块。我使用 Dendritic 模式将 NixOS 和 Home Manager 的配置结合在一起,避免了横跨两个配置系统的配置项位于不同的位置的问题。
模块架构
| 模块 | 描述 |
|---|---|
| flake | flake-parts 相关的模块,包括从模块生成配置、一些横跨 NixOS 与 Home Manager 的配置项等 |
| hosts | 所有管理的主机的 NixOS 与 Home Manager 模块 |
| core | 核心的 NixOS 与 Home Manager 配置模块 |
| desktop | 桌面环境的 NixOS 与 Home Manager 配置模块 |
| dev | 开发环境 NixOS 与 Home Manager 配置模块,假定位于桌面端 |
| services | 所有作为服务运行的 NixOS 模块 |
| users | 记录所有用户的 NixOS 模块 |
从哪里开始
从 flake 模块 开始,尤其是其中生成 outputs.nixosConfiguration 的模块。然后,检查每个主机的 ./hosts/<hostname>/default.nix 以了解主机使用了哪些模块。最后依次查看各个被使用的模块。
还有别的吗?
当然,这里列举了一些我见过的现实中的 Dendritic 模式的 NixOS 配置(按字母顺序列出):