工程开发
nix-patterns avatar

nix-patterns

标准化 NixOS 模块模式,用于系统配置、包管理与 home-manager 设置。

简介

此技能提供了一套精选的架构模式与最佳实践,用于管理 NixOS 与 home-manager 配置。它专为使用 Nix 维护可重复环境的开发者、系统管理员与 DevOps 工程师所设计。通过实施这些模式,用户可以确保其系统配置在不同机器与用户配置文件之间保持模块化、可维护性与可扩展性。本技能引导您如何组织 Nix 文件,将系统层级的服务与用户专有的 dotfiles 及应用程序包分开管理。

  • 用于组织 home-manager 模块与 NixOS 系统模块的标准化目录结构。

  • 基于系统架构使用 lib.optionals 进行条件式包安装的模式。

  • 针对 XDG 配置文件与复杂 Nix 属性集的实施示例。

  • 保持主配置文件简洁且声明式的模块导入策略。

  • 针对特定机器主机配置的最佳实践。

  • 若要使用此技能,请确保您的项目遵循建议的目录层级:modules/home 用于用户配置,modules/nixos 用于系统服务。

  • 新增包时,请使用提供的样板来处理如 x86_64-linux 与 ARM 系统间的平台特定依赖关系。

  • 本技能假设您熟悉 Nix 表达式语言;在扩展 nixpkgs 配置时请使用这些模块模式。

  • 输入通常涉及将路径加入您的 home/default.nix 导入项目,并在模块属性内定义包列表。

  • 输出结果为一个稳健且受版本控制的系统配置,可使用标准 Nix 命令进行重建。

  • 请注意,这是一个结构性模板;请务必确保您的本地 Nix flake 或系统配置文件已在 flake.nix 或 configuration.nix 中正确链接以使其生效。

仓库统计

Star 数
263
Fork 数
23
Open Issue 数
7
主要语言
Python
默认分支
main
同步状态
空闲
最近同步时间
2026年5月1日 07:30
在 GitHub 查看
nix-patterns | Skills Hub