管理 dotfiles,用 yadm。使用方法很简单,直接看文档即可。
现在的 Dotfiles 放在 GitHub 的 私有仓库 中。
yadm 有 alt 功能,可以针对同一文件,在不同设备使用不同的文件。
这个功能,最好按设备来,同时兼顾操作系统。考虑几点:
- 我将同时使用 Linux 和 macOS
- 不同的设备有做出区别的需要,比如
kglobalshortcutsrc
这种,里面包含 Widget ID,在不同机器上不一样 - 笔记本即在家用又在公司用,在公司里用有一些不同的配置需求,比如在公司要给 SVN 配 proxy server,在家里不用
yadm 提供了 CLASS, OS, HOSTNAME, USER 等多层条件,用来选择文件。因此:
- 使用 CLASS 区分设备:
pc1
: 家里的台式机电脑nb1
: Dell 燃 7000 笔记本电脑wsl1
: 家里的台式机电脑上的 Arch Linux WSL(不再使用)wsl2
: 公司的台式机电脑上的 Arch Linux WSL(不再使用)wsl3
: Dell 笔记本电脑上的 Arch Linux WSL(不再使用)mac1
: 公司发的 15 存 Macbook Pro(不再使用)
- 使用 OS 区分操作系统(暂未使用,等有了 Macbook 再考虑下)
- 不使用 HOSTNAME 区分设备:
- WSL 上的 host name 往往跟着宿主 Windows 走(比如家里的台式机叫
DESKTOP-V8LAOO3
,公司的onlyicelin-PC8
),可以灵活定制的情况不多,比如公司入域的设备可能不方便改 host name - Mac 系统的 host name(比如 onlyice's Macbook Pro)与 Windows 的不太一致,不费力去修改成一致的观感
- WSL 上的 host name 往往跟着宿主 Windows 走(比如家里的台式机叫
比如 .xprofile
中放了跟 DPI 相关的匹配,而家里的 pc1
设备用了 4K 显示屏,其他的设备是 1080P 显示屏,那么需要区分开:
pc1
:~/.xprofile##c.pc1
- 其他:
~/.xprofile##
(##
表示默认的)
CLASS 通过 yadm
命令行配置:
yadm config local.class pc1