dotfiles

使用Nix Flakes统一管理个人开发环境配置

安装使用

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

帮我安装这个 AI Skill:dotfiles。
它的用途是:使用Nix Flakes统一管理个人开发环境配置
详细介绍见:https://321skill.com/skills/dotfiles-scizorman/
请根据该页面的说明完成安装。

使用示例

“我正在一台新的Mac上设置开发环境,已经安装了Nix。如何用你的dotfiles配置快速初始化我的系统?” 它会引导你克隆仓库,并执行`nix --extra-experimental-features 'nix-command flakes' run nix-darwin -- switch --flake .#<你的主机名>`命令来应用配置。之后,当你修改了配置,只需在仓库目录下运行`make switch`,即可快速更新整个环境。

介绍

这个Skill旨在解决开发者在多台机器(如NixOS和macOS)上配置开发环境不一致、难以复现和同步的问题。它通过Nix Flakes技术,将系统配置、软件包和开发环境定义成可版本控制的代码,实现一键部署和切换。

使用方式主要分为初始化和日常应用。对于NixOS(包括WSL环境),需要更新Nix通道后克隆仓库,并使用nixos-rebuild命令应用配置。对于macOS,则需要先安装Nix,然后通过nix-darwin工具来应用配置。日常更新配置后,只需运行make switch即可快速生效。

它非常适合需要频繁在不同机器间切换、或追求环境可重现性的开发者,特别是使用NixOS或macOS的全栈开发、运维工程师和学术研究者。对于习惯手动配置环境或仅使用Windows原生环境的用户,学习成本可能较高。

建议在使用前,确保对Nix语言和Flakes有基本了解,并备份原有的关键配置文件(如/etc下的bashrc或zshrc)。初次在macOS上应用时,可能会因系统文件冲突而需要手动处理,按照README中的指引操作即可。

核心特点

与传统的dotfiles管理方案(如使用GNU Stow)相比,它深度集成Nix Flakes,不仅管理配置文件,还能声明式地管理整个系统的软件包和依赖,确保环境完全可重现。同时,它通过Makefile提供了统一的`make switch`命令,简化了NixOS和macOS两个平台上的配置应用流程。

注意事项

不适合不熟悉Nix生态或仅需简单同步少量配置文件的用户。

常见问题

这个dotfiles仓库支持Windows吗?

主要支持NixOS(包括WSL2环境)和macOS,不支持Windows原生环境。

必须使用Nix Flakes吗?

是的,此仓库的设计和命令都基于Nix Flakes,需要启用Flakes实验特性。