nix-config
一个基于Nix Flakes的多平台系统与开发环境配置管理仓库。
安装使用
复制下面这段提示词发给你的 AI(Claude / Cursor / TRAE / Codex / WorkBuddy 等),它会自动帮你完成安装:
帮我安装这个 AI Skill:nix-config。 它的用途是:一个基于Nix Flakes的多平台系统与开发环境配置管理仓库。 完整的 Skill 内容见:https://321skill.com/skills/nix-config-cullenmcdermott/raw/index.md 请读取该页面内容,如果是 SKILL.md 格式直接安装,如果是 README 提炼核心 prompt 后安装。
提示词包含完整的 Skill 内容链接,AI 读取后即可完成安装。你也可以 查看完整内容 确认无误。
使用示例
“参考nix-config仓库的结构,帮我设计一个用于管理Python和Go多版本开发环境的Nix home-manager模块。”,它会分析该仓库的模块组织方式(如`modules/home-manager/`),并为你生成一个结构清晰、包含多版本语言环境声明和Shell钩子的Nix模块代码片段。
介绍
该仓库旨在解决开发者和运维人员在多台不同操作系统(macOS、Linux)的机器上,统一、可复现地管理开发环境和系统配置的难题。它通过Nix Flakes和flake-parts框架,将macOS主机的nix-darwin配置、Linux机器的独立home-manager配置,甚至容器(如Distrobox)内的环境,都纳入同一个代码仓库进行声明式管理。
使用上,对于macOS主机,克隆仓库后可通过简单的nixswitch命令一键重建整个系统环境;对于Linux机器或容器,则可通过指定对应的homeConfigurations入口(如cullen@x86_64-linux)来激活独立的用户环境配置。仓库还提供了沙箱CLI工具和容器引导脚本,增强了环境的隔离性和可移植性。
它非常适合熟悉或希望尝试NixOS/nix-darwin的运维工程师、全栈开发者和追求环境一致性的个人开发者。尤其适合那些需要在公司Mac、个人Linux笔记本、云服务器或开发容器等多种异构环境中保持工具链、Shell配置和开发依赖一致的用户。
使用建议是,用户需要对Nix语言和Flakes有基本了解。虽然仓库提供了清晰的模块化结构和示例,但直接用作模板时,仍需根据个人用户名、主机名和具体软件需求进行大量修改。注意,它并非一个开箱即用的通用配置,而是一个高度定制化的个人配置范例,更适合作为学习和构建自己Nix配置的参考起点。
核心特点
核心区别在于其采用`flake-parts`模块化架构,将macOS系统配置与跨Linux平台的独立用户环境配置统一在一个仓库中,并通过`mkHome`工厂函数抽象出可复用的配置模块,使得为不同架构和用途(如工作站、VM)创建定制化home-manager配置变得非常简洁。
注意事项
不适合对Nix和Flakes不熟悉、希望寻找开箱即用配置或仅需管理单一操作系统环境的初学者。
常见问题
如何在新的Linux机器上使用这个配置?
克隆仓库后,运行 `nix run home-manager -- switch -b backup --flake ~/src/system-config#cullen@x86_64-linux`(根据架构替换),即可激活对应的home-manager配置。
这个配置能直接拿来用吗?
不能直接使用,需要根据你的用户名、主机名、所需软件包修改`flake-modules/modules.nix`和`hosts`目录下的配置,它是一个高度个人化的模板。
给 AI 助手的安装指引
如果你的 AI 编程助手(Claude Code、Cursor、TRAE 等)能看到这个页面,把下面这段发给它即可自动完成安装:
请访问 https://321skill.com/skills/nix-config-cullenmcdermott/raw/index.md 读取 nix-config 的原始 Skill 定义(Markdown 格式),按其中说明在我的环境里完成安装和配置。
AI 可直接读取的原始 Markdown 地址:/skills/nix-config-cullenmcdermott/raw/index.md(查看排版版本)