不同设备的 zsh 同步
我个人会使用比较多的设备,白天使用公司的 macbook。晚上使用自己的 macbook/macmini
zsh 配置文件是 ~/.zshrc,不同设备同步的方案有很多,比如可以简单的将 ~/.zshrc 同步到 github,不同设备从 github 拉取最新的配置文件
但是我发现除了 ~/.zshrc,还有其他的各种 dot*/config配置文件。我在想如何能便捷地进行同步呢?
最终我找到了 twpayne/chezmoi
chezmoi
chezmoi 本质也是通过 github 仓库来同步配置文件的。但是相比于简单的 git 操作,chezmoi 具有许多优势
安装方法非常简单
$ brew install chezmoi常用操作
将某个文件的修改提交(类似 git add)
$ chezmoi add ~/.zshrc$ chezmoi cd
$ git add .
$ git commit -m "Initial commit"
$ git push同步远程修改
$ chezmoi cd
$ git pull
# chezmoi diff (可选)查看本地和远程的差异
$ chezmoi apply # 应用远程修改设备定制
肯定会存在这样一种情况,不同的设备上的 zsh 不完全一致,有些配置只会在,或者只想在特定设备生效,可以在 .zshrc 末尾加上
if [ -f ~/.zshrc_local ]; then
echo -e "\033[32m[zsh] 正在加载本地自定义配置文件:~/.zshrc_local\033[0m"
source ~/.zshrc_local
echo -e "\033[32m[zsh] 本地自定义配置文件加载完成 ✅\033[0m"
fi专属于特定设备的 zsh 配置可以放在 ~/.zshrc_local 中