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 格式),按其中说明在我的环境里完成安装和配置。
AI 可直接读取的原始 Markdown 地址:/skills/nix-fred-drake/raw/index.md(查看排版版本)