作为 Linux 用户,我有很多非 GUI 应用程序,我通过配置文件配置它们所需的行为。我遇到的一个麻烦是,我有多个设备,我想从这些设备使用这些应用程序,同时尽量减少对我的工作流程的影响。以下是一些示例:
- 使我的
neovim
行为在设备之间保持一致(重新映射、相对线路号等); - 启用
zsh
设备间相同的别名; - 设备之间具有一致的
git
配置(例如,因此我不需要在每台设备上手动配置user.name
)user.email
; - 组织我的不同
ipython
个人资料和设置。
还考虑到:
- 一些配置应该在设备之间共享(例如,
git
config); - 一些配置将保持本地化(例如,一些特定的
zsh
别名)。
有哪些可用的方法可以创建、存储和同步我的配置?从最基本的层面上讲,我考虑在 Git 存储库中创建一个local
和shared
子目录下的不同文件和多个文件,然后每个文件都将在每台机器上的应用程序默认文件中获取。这是一种可行的方法吗?如果不是,最接近的“手动”解决方案是什么?是否有任何特定软件可用于实现这种组织?
这一基本解决方案目前的具体实施方式如下:
.
├── aliases.txt
├── git
├── ipython
│ ├── local
│ └── share
├── nvim
│ ├── local
│ │ ├── keymaps.lua
│ │ ├── options.lua
│ │ └── plugins.lua
│ └── share
├── pip
└── zsh
├── local
│ ├── aliases.zsh
│ ├── bindings.zsh
│ ├── config.zsh
│ ├── functions.zsh
│ └── prompt.zsh
└── share