dotfiles
一套使用 Git 直接管理用户主目录配置文件的自动化系统。
安装使用
复制下面这段提示词发给你的 AI(Claude / Cursor / TRAE / Codex / WorkBuddy 等),它会自动帮你完成安装:
帮我安装这个 AI Skill:dotfiles。 它的用途是:一套使用 Git 直接管理用户主目录配置文件的自动化系统。 详细介绍见:https://321skill.com/skills/dotfiles-connorads/ 请根据该页面的说明完成安装。
使用示例
当你需要在新电脑上快速复现熟悉的开发环境时,可以对 AI 说:“帮我在我的新 Mac 上设置 dotfiles 环境。” 它会指导你运行快速启动脚本,并提示你根据自身情况修改主机名等配置。日常中,当你安装了一个新工具并想将其配置纳入版本管理时,可以说:“如何用这个 dotfiles 系统跟踪我的新 Neovim 配置?” 它会告诉你先编辑 `.gitignore` 取消忽略对应路径,然后使用 `dotfiles add` 命令。
介绍
这个 Skill 解决了开发者管理多台机器上复杂配置文件(dotfiles)的难题。传统方法常使用符号链接,而本方案通过 Git 的 core.worktree 配置,将 Git 仓库元数据存储在 ~/git/dotfiles,而工作树直接指向用户主目录 ~,实现了无需符号链接的直接管理。
使用方式非常便捷,通过一个名为 dotfiles 的命令行包装器来执行 Git 操作。项目深度集成了 Nix 生态(macOS 用 nix-darwin,Linux 用 home-manager)和包管理器 brew(macOS),用于声明式地配置系统和安装软件,同时使用 mise 工具管理编程语言运行时。
它非常适合追求系统配置可重现性、自动化,并熟悉 Nix 和 Git 的高级开发者、运维工程师或全栈开发人员。尤其适合需要在多台机器(如个人笔记本、远程服务器、云开发环境)之间快速同步和部署一致开发环境的用户。
需要注意的是,该仓库高度定制化,原作者的机器用户名和主机名配置硬编码在代码中。如果你打算使用,强烈建议先 Fork 仓库,并按照 README 中的 Setup 部分修改 flake.nix 和 install.sh 中的相关配置(如 VALID_DARWIN / VALID_HM 列表),以适配你自己的环境。
核心特点
核心区别在于使用 Git 的 `core.worktree` 特性直接管理 `$HOME` 目录下的文件,完全避免了符号链接,使得文件跟踪更直观,Git 状态(如 ahead-behind)在 LazyGit 等工具中显示准确。同时,它深度整合了 Nix 生态进行声明式系统配置,并通过一个精心设计的 `up` 命令和锁文件提交策略来管理供应链安全与更新。
注意事项
不适合不熟悉 Nix 生态、Git 高级用法或 Shell 脚本的初学者,且原仓库配置高度个性化,需较多修改才能适配他人环境。
常见问题
如何开始使用这个 dotfiles 管理方案?
对于 macOS、Linux 或 GitHub Codespaces,可直接运行快速启动命令进行一键式引导安装。
我想用自己的配置,需要做什么?
必须 Fork 该仓库,并修改 `flake.nix` 中的配置以及 `install.sh` 脚本中的 `VALID_DARWIN` 或 `VALID_HM` 主机名白名单。