chezmoi 是使用 Go 编写的跨平台 dotfiles 管理工具, 使用同一的 Git 仓库进行配置同步, 可以很方便的帮助我们在多个开发环境共用一套配置, 免去一些同一工具链需要手工重新在多个机器配置的工作量.
通用 dotfiles
文件管理程序: General-purpose dotfiles utilities - dotfiles.github.io
安装
初始化
执行 chezmoi init
将创建一个新的本地Git仓库,目录为: ~/.local/share/chezmoi
,将在这个目录下存储所有的配置文件,使用 chezmoi cd
命令可以快速进入文件目录
基础使用
以 .zshrc
文件为例,执行
这将复制 ~/.zshrc
到 ~/.local/share/chezmoi/dot_zshrc
这将打开 ~/.local/share/chezmoi/dot_zshrc
文件并编辑,并不会修改~/.zshrc
文件,修改之后执行
chezmoi diff
这将展示出修改的差异,展示本次修改做出了哪些改变。
应用更改到源文件
上传修改到Git
管理文件夹
与管理 dotfile 文件一样,以 nvim
为例
指定编辑器
创建 chezmoi 的配置文件 ~/.config/chezmoi/chezmoi.toml
并添加以下配置,这将设置默认编辑器为 VSCode
指定 diff 工具
指定 diff 工具为 VSCode
新机器使用
安装配置文件
更新配置文件
管理 Chezmoi 自身的配置文件
- 创建
.local/share/chezmoi/.chezmoi.$FORMAT.tmpl
文件,如果你希望使用toml
格式的配置文件,那就创建.chezmoi.toml.tmpl
并添加配置 - 执行
chezmoi init
将自动创建~/.config/chezmoi/chezmoi.toml
配置文件 - 之后修改文件时修改
.chezmoi.toml.tmpl
文件然后chezmoi init
来重新生成配置文件
其他命令
chezmoi merge $FILE
- 将源文件的更改与chezmoi
管理的文件进行合并chezmoi unmanaged
- 列出不由chezmoi
管理的所有内容chezmoi managed
- 将列出chezmoi
管理的所有内容。chezmoi list
- 同上chezmoi unmanage
- 取消管理某个文件chezmoi git
- 直接执行Git 命令chezmoi git add .
chezmoi git -- commit -m 'update'
chezmoi git push
chezmoi edit-config
- 编辑chezmoi
自己的配置文件