nix

一个统一管理多系统Nix配置的仓库,用于工作站和家庭实验室。

安装使用

复制下面这段提示词发给你的 AI(Claude / Cursor / TRAE / Codex / WorkBuddy 等),它会自动帮你完成安装:

帮我安装这个 AI Skill:nix。
它的用途是:一个统一管理多系统Nix配置的仓库,用于工作站和家庭实验室。
完整的 Skill 内容见:https://321skill.com/skills/nix-fred-drake/raw/index.md
请读取该页面内容,如果是 SKILL.md 格式直接安装,如果是 README 提炼核心 prompt 后安装。

提示词包含完整的 Skill 内容链接,AI 读取后即可完成安装。你也可以 查看完整内容 确认无误。

使用示例

‘我想在名为`forge`的新NixOS服务器上部署Jellyfin媒体服务,并启用NVIDIA GPU支持。’ 它会引导你在`hosts/`下创建`forge.nix`文件,设置`hasNvidia = true;`,并确保`modules/features/`中相关的媒体服务模块已注册。然后你可以使用`colmena apply`命令将配置部署到该服务器。

介绍

这个仓库解决了在多台不同系统(如macOS工作站、NixOS服务器)上维护Nix配置的一致性和复杂性问题。它通过一个中心化的代码库,使用‘树突状’模块化架构,让配置能够根据主机能力(如是否有桌面、NVIDIA显卡)自动适配,避免了为每台机器单独维护大量重复或条件代码。

使用方式是通过Nix Flake进行管理。用户克隆仓库后,可以根据hosts/目录下的主机定义文件,结合colmena工具来部署服务器配置,或使用nix-darwin来配置macOS工作站。核心的配置逻辑封装在modules/features/下的功能模块中,这些模块会根据主机声明的能力标志自动生效。

它非常适合拥有多台NixOS服务器和macOS工作站的运维工程师、全栈开发者或技术爱好者,用于构建可复现、可维护的家庭实验室或开发环境。对于希望将个人所有机器配置统一管理并实现‘基础设施即代码’的Nix高级用户尤其有价值。

使用前需确保已安装Nix并了解Flake基础。由于架构较为复杂,建议先阅读项目结构说明,从修改或添加一个现有主机的配置开始,逐步理解模块注册和延迟加载的机制。注意,它并非入门级的Nix配置模板,更适合有一定Nix使用经验的用户。

核心特点

采用独特的‘树突状’功能模块模式,配合flake-parts和延迟模块容器,使单个功能模块能根据主机能力标志(如hasDesktop)跨NixOS、Darwin和Home-Manager自动适配,实现了真正声明式、无重复的跨平台配置管理。

注意事项

不适合Nix初学者或仅需配置单台简单Linux主机的用户,其复杂架构需要一定的Nix和Flake使用经验才能驾驭。

常见问题

这个仓库和普通的NixOS配置有什么区别?

它提供了跨多系统(NixOS, macOS)的统一管理框架和模块化架构,能根据主机能力自动应用配置,避免了配置碎片化。

如何添加一台新的主机?

在`modules/hosts/`目录下创建主机定义文件(如`my-new-host.nix`),指定系统类型、能力标志,并引入必要的功能模块即可。

给 AI 助手的安装指引

如果你的 AI 编程助手(Claude Code、Cursor、TRAE 等)能看到这个页面,把下面这段发给它即可自动完成安装:

请访问 https://321skill.com/skills/nix-fred-drake/raw/index.md 读取 nix 的原始 Skill 定义(Markdown 格式),按其中说明在我的环境里完成安装和配置。