Dotfile manager —— Dotbot
Introduction
Dotbot makes installing your dotfiles as easy as git clone $url && cd dotfiles && ./install, even on a freshly installed system!
Dotfiles狭义上指以.
开头的隐藏文件,通常用来存储程序的配置信息,如.bashrc
、.gitconfig
等;广义上可以代指用户的所有配置文件。
Windows系统中,不同程序的配置文件路径相对分散,以下都有可能是xxx程序的配置文件路径,
C:\Users\<username>\AppData\Roaming
C:\Users\<username>\AppData\Local
C:\Users\<username>\Documents
C:\Users\<username>\.config
配置文件的不集中,使得配置文件的管理&备份&恢复变得困难,Dotbot是一个轻量级的Python工具,通过解析简单的配置文件(json/yaml)来自动化dotfiles的安装和管理;与之类似的工具还有yadm,gnu stow,dot drap etc.
Usage
原理很简单,通过创建软链接,将配置文件链接到指定的目录,这样就可以实现配置文件的集中管理
部分软件支持通过环境变量指定config path,比如yazi,但遗憾的是并非所有软件都支持。如果都支持的话写个
envrc
里面统一进行export或者Set-Env语句即可;
Advantages
个人在配置文件仓库Efterklang/config,使用了Dotbot进行配置文件的管理,相比手动管理方便很多。如果经常对配置文件进行修改,那么使用Dotbot进行管理是一个不错的选择,支持Windows & Linux & Mac。此外,Linux系统下还可以使用GNU stow
进行配置文件的管理,原理类似。
过去使用Onedrive/Github进行配置文件的备份,有以下几方面限制:
OneDrive | GitHub | Dotbot | |
---|---|---|---|
备份修改 | 将配置文件从不同目录拷贝到云盘 | 与OneDrive类似 | 在统一目录下修改,修改后推送至远程仓库 |
配置迁移 | 下载云盘配置文件到app目录 | 与OneDrive类似 | git clone 仓库,执行 install.ps1 |
版本控制 | ⛔ (聊胜于无) | ✅ | ✅ |
扩展性 | ⛔ | ⛔ | 支持通过 git submodule 安装插件,可以同步 scoop 应用、Windows 字体等 |
当然,这些限制在一定程度上可以通过其他方式解决,但毕竟都有现成的轮子了,不妨直接使用🤓
More
Dotfile manager —— Dotbot