用途:这是 mizchi 个人 dotfiles 的 chezmoi 运维备忘,不重复 chezmoi 官方文档,只记录自己环境中的实际做法。
主要能力与内容:
- 前提环境:源目录 ~/.local/share/chezmoi/,远程 https://github.com/mizchi/chezmoi-dotfiles.git,分支 main,pre-commit 使用 prek + secretlint,apply 后钩子 run_after_apm-install.sh 执行 apm install --global --target claude。
- 布局与命名:dot_ 表示前导点,executable_ 表示 +x,private_ 表示 0600,.tmpl 为 Go 模板,run_once_ 仅首次执行,run_after_ 每次 apply 后执行。
- 日常流程:chezmoi diff / status 查看差异与状态;chezmoi add、re-add 把 dest 改动收回 source;chezmoi apply 把 source 应用到 dest;chezmoi edit [-a]、cd 编辑源目录。
- 新机初始化:chezmoi init <repo> --apply,再在源目录执行 prek install。
- 技能添加:在 ~/.claude/skills/<name>/ 开发后 chezmoi add,提交并推送。
- APM 与 chezmoi 边界:外部公开技能走 APM(dot_apm/apm.yml),自用技能走 chezmoi(dot_claude/skills/),注意同名冲突。
- 模板:chezmoi edit 打开 .tmpl,execute-template 验证展开,data 查看变量;.tmpl 文件不要用 re-add,以免覆盖模板语法;默认值放 chezmoi.toml 的 [data]。
- pre-commit:secretlint 拦截密钥,误报可在 .secretlintrc.json 的 allows 中排除,不使用 --no-verify。
- 故障排查:DA 大量出现时写 .chezmoiignore;冲突用 chezmoi merge / forget / destroy;回滚靠源目录 git reset --hard 后 apply;用 managed / unmanaged 查看管理范围;apply 慢可尝试 SKIP_APM=1。
限制:内容为个人环境备忘,具体命令与配置需按自身环境调整;未提供官方文档之外的通用保证。