我正在尝试想出一个策略来将我的点文件存储在 Git 中。到目前为止,我已经创建了一个GitHub 上的 dotfiles repo我已经编写了一个安装脚本,它只是克隆了 repo,然后将每个文件符号链接到我的~
目录中。
然而,我正在努力想出一种方法来将机密信息存储在我的点文件中,但同时确保其中没有任何内容提交到 Git 中。
例如,我有我的 Irssi 配置文件,其中有以下内容:
chatnets = {
Freenode = {
type = "IRC";
autosendcmd = "/msg nickserv identify PASSWORD ; wait 2000";
...
现在我正在控制这个点文件的版本,我不能直接在这个文件中存储我的密码。这意味着每次我启动 Irssi 时,我都必须手动identify
输入 NickServ,因为PASSWORD
这显然不是我的 NickServ 密码。
我尝试查看是否有办法将安全的、非版本控制的文件包含到 Irssi 配置中,但我找不到任何解决方案。
我应该如何存储我的点文件,以便能够存储 Git 之外的点文件所需的密码等机密信息?
相关,但没有真正的解决方案: 如何将 bash 变量(密码)传递给 IRSSI 配置文件? 对 Irssi 使用 SASL 并不是一个方便的选择,因为在新的系统上还需要进行另一项设置,而我试图使安装过程尽可能简单。
答案1
许多程序都支持以某种方式将 shell 命令放入其配置文件中。例如,我的配置文件中有这个.neomuttrc
:
set my_fastmail_pass="`gpg -dq ~/.config/neomutt/fastmail-password.gpg`"
我认为你可以和 Irssi 做类似的事情。或者,您可以使用git-crypt包含机密的文件。这样,整个文件就被加密了。