1
Rocka 2019-08-13 17:11:45 +08:00 1
见过两个不错的方法:
GNU stow http://farseerfc.me/zhs/using-gnu-stow-to-manage-your-dotfiles.html 以及直接使用 Git https://www.atlassian.com/git/tutorials/dotfiles 至于我自己 ... 弄了个仓库,想用的时候就去里面复制,反正机器不多 ... |
2
runze 2019-08-13 17:32:28 +08:00
stow 可能是最简单的方案了
|
3
Kobayashi 2019-08-13 21:33:51 +08:00 3
不喜欢 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/Dotfiles https://github.com/deadc0de6/dotdrop |
4
FrankHB 2019-08-14 03:04:37 +08:00
如果你的真正的目的是就只是管理(或者仅仅是部署) dotfiles,看楼上。
如果你的真正的目的是管理一般意义上每用户应用配置,恭喜你,还没有发现个好用的专用工具,你可以自己糊项目了。(模板之类……手贱写错呵呵呵。)原因是不同应用的配置格式不保证通用,管理 dotfiles 的方案不清楚具体配置的语义,只能对分组归类比较靠谱;要好用基本也得对特定的配置进行优化,这不比维护普通的包更省事,所以没啥人会去想做。(注册表是屎,但这里还真微粒子般存在地高明了那么一点点……) 现实我对单纯的配置基本上直接 git 不会有太难维护的问题,嫌麻烦(我不会)大不了用 wrapper (但要把版本控制有意 abstract away 掉的东西是不是符合目的,自己考虑)。配置中带逻辑的,专门链到 $HOME 外当作正经的私有项目定制。 |
5
rayhy 2019-08-14 06:41:06 +08:00 via Android
使用裸 Git 仓库,所有文件直接 git add 就行。不需要软链接。其实本质就是给.git/ 换个文件夹名。
安装就是 git clone。如果是不同系统的 dotfiles,可以用不同 git 分支来管理。为了方便可能要加一个 alias。 具体可以看我的博客,可惜我没验证手机号,没法贴。 |
7
Corps 2021-05-31 15:48:35 +08:00 via Android
立即使用 systemd-homed
www |