不喜欢 stow,这是一个非常糟糕的方案。每个配置文件都需要建立从用户目录开始的文件树,配置文件分别存放在这种目录树下,导致查看极不方便。
根据 archlinux wiki,目前最为灵活的方案是应该是 dotdrop:1 )既可以 copy,也可 symlink ; 2 )支持模板、替换模板内变量; 3 )分组基于配置文件(如配置文件 A、B 属于组 1,用到 Linux。配置文件 A、C 属于组 2,用到 macOS );
如果基于 copy,还支持钩子,如安装(如果是复制模式)前后执行特定动作(如运行脚本),在 dotfile 仓库导入、安装 /导出前对文件内容用 gpg 加密、解密,等等。
还是推荐看一眼 archlinux 下相关 wiki,比较一下各个 dotfile 工具,选择一个满足自己需求的。如果你不同机器部署完全相同的环境,这样你便不需要对于配置文件进行逻辑上分组,可选方案还有很多。但是如果你需要分组功能,dotdrop 无疑拥有最好的分组方案——将同一个 app 的配置文件在逻辑上分到不同的组。其他 dotfile 工具分组均基于目录,如 .vimrc 配置文件既需要放在配置文件夹 A 给机器 A 使用,也需要有一份放在配置文件夹 B 下给机器 B 使用,维护 2 个同样的文件完全没有必要。
https://wiki.archlinux.org/index.php/Dotfileshttps://github.com/deadc0de6/dotdrop