main

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 配置(按字母顺序列出):