SuperAPI AI 工具集

chezmoi

安全与审计

查看项目

更新于 10-16 03:16

技能介绍

chezmoi 用于跨机器管理 dotfiles,核心是“源状态”模型:源目录(默认 ~/.local/share/chezmoi,本身是 git 仓库)中的文件名带属性前缀,决定目标文件名与行为。

主要能力:用 dot_、private_、readonly_、executable_、empty_、encrypted_、symlink_、exact_、create_、modify_、remove_ 等前缀控制目标;.tmpl 后缀的文件按 Go text/template 渲染;.chezmoitemplates/ 存放可复用模板片段;run_、once_、onchange_、before_、after_ 前缀用于脚本;.chezmoiexternal 可在 apply 时从 URL 拉取文件或归档。

使用方式:新机器可用 sh -c "$(curl -fsLS get.chezmoi.io)" -- init --apply $GITHUB_USERNAME 引导;添加文件用 chezmoi add ~/.zshrc(可加 --template 或 --encrypt);编辑用 chezmoi edit $TARGET;应用前先运行 chezmoi status、chezmoi diff、chezmoi apply --dry-run -v 检查,再执行 chezmoi apply;日常更新用 chezmoi update。配置模板 .chezmoi.toml.tmpl 在首次 init 时生成每台机器的 ~/.config/chezmoi/chezmoi.toml。

适用场景:新机引导、按 OS/主机/角色模板化配置、通过 1Password/Bitwarden/age/gpg 管理密钥、编写一次性安装脚本、排查 apply 意外变更。

限制与注意:不要直接编辑源目录中的模板或加密文件;不要提交明文密钥;prompt* 模板函数只能用于配置文件模板;.chezmoiignore 匹配源相对路径而非目标路径;同一配置目录出现两种格式会报错;脚本报 exec format error 通常是 #! 前多了换行,permission denied 可能是 $TMPDIR 为 noexec。chezmoi doctor 可用于诊断。具体收费、平台支持等资料暂未提供。