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 格式),按其中说明在我的环境里完成安装和配置。