老生常谈的问题,请问大家如何管理 dotfiles

2022-05-28 17:40:50 +08:00
 techstay

我目前用的是 yadm ,感觉还行,bootstrap 、encrypt 这几个功能也不错。

但是现在有个问题,我想把 dotfiles 分成两部分,一部分是 zshrc 这种可以公开的配置,单独弄个仓库;另一种是带有自己密钥的,弄成私人仓库自己用。

现在我是同时维护两个仓库,感觉改点东西麻烦死。这时候是不是可以用什么 git submodule 之类的整合一下。有没有类似经验的老哥分享一下。

3846 次点击
所在节点    Linux
20 条回复
yuhangch
2022-05-28 17:47:16 +08:00
不如直接全部私有算了
wd
2022-05-28 18:04:23 +08:00
又不是大佬 公开了也没人看 还不如私有来的简单
thedrwu
2022-05-28 18:08:17 +08:00
公开 dotfiles 没必要。
一方面,作为新人,我为什么要抄别人的 dotfiles ,直接用默认的多方便,换了环境立刻能上手。
另一方面,我的 dotfiles 也只有我能用得惯,没必要公开。

密钥就交给密码管理器。在 dotfiles 调用密码管理器得到密码或者密钥。
ampedee
2022-05-28 18:13:51 +08:00
不会真的有人会直接用公开的 dotfiles 吧?
直接私有不就得了
techstay
2022-05-28 18:16:38 +08:00
啊这,大家说的好有道理😂,直接全私有得了
nightwitch
2022-05-28 18:26:02 +08:00
dotfiles 直接私有呗,绝大多数都是只对你有意义的东西。
有些你自己写的函数或者配置觉得还可以的,可以抽出来放到 gist 里或者写博客里,有缘人自会搜索到
Biwood
2022-05-28 19:31:44 +08:00
一开始也想学别人公开,后来备份的东西多了,感觉全部公开也不好,就索性全部私有了。

另外问一下,大家是用的自动化备份方案吗,我是用 chezmoi 这个工具,每次还是得手动添加和提交。话说有一次不小心把 .zshrc 里面的内容全部给覆盖了,惊恐万分,跑去 dotfiles 仓库看了下,幸好有备份,只是版本稍微老了一点。由此意识到文件备份的重要性。
vbs
2022-05-28 20:27:39 +08:00
推荐:The best way to store your dotfiles: A bare Git repository https://www.atlassian.com/git/tutorials/dotfiles
baobao1270
2022-05-29 13:50:05 +08:00
全部私有吧
saltbo
2022-05-29 16:05:46 +08:00
大家都不用 yadm 的加密功能吗
alzee
2022-05-29 17:38:17 +08:00
https://github.com/alzee/ash
每人习惯不一样,仅提供思路。
密钥之类的我不会放到仓库里。实际上每个主机我都会生成不一样的密钥。
RayGZJ
2022-05-29 23:22:17 +08:00
mac 下不如用 zsh 写个脚本 cp -r 移动到 icloud 文件夹自动同步…
RayGZJ
2022-05-29 23:23:56 +08:00
@RayGZJ #12 要是想加密数据就生成下压缩包? linux 用 cron git pull 到私有库
kaiger
2022-06-07 18:14:05 +08:00
@thedrwu

有好用的密码管理器推荐吗
thedrwu
2022-06-07 18:56:22 +08:00
@kaiger

我用 pass ,因为我本来就在用 gpg 加密邮件,并且用 gpg 作为 ssh 的 rsa key 。文件格式简单,而且轻量不带 gui 。

pass 有浏览器的插件,走 native message 。Windows 下能无缝接上装在 wsl 里的密码管理器。

这种方式还有个阶进操作:
有些地方,比如服务器上,不想 copy 整个密码管理器的数据,可以把 gpg 加密后的密码作为 comment 写到对应程序的 config 文件里,执行 config 的时候再 grep/sed 自己本身,把含有密码的那几行 comments 送到 gpg 解密出对应程序的密码。gpg 的 socket 可以被 ssh forward ,所以不需要在服务器上保存 gpg 的密钥或者在服务器输入总密码也依然能远程自动填密码。
kaiger
2022-06-08 11:57:54 +08:00
@thedrwu

多谢,pass 很好用,但是我没找到浏览器插件,我用的 chrome ,方便提供一下插件下载地址吗
thedrwu
2022-06-08 13:22:55 +08:00
kaiger
2022-06-08 16:58:15 +08:00
@thedrwu

本地 native message 程序安装过程中有点小问题,请教一下,

Browserpass 是通过 apt 安装的 apt install webext-browserpass

配置的时候,进入 /usr/lib/browserpass 目录运行 make hosts-chrome-user 命令

提示:
'/home/wukaige/.config/google-chrome/NativeMessagingHosts/com.github.browserpass.native.json' -> '/usr/lib/browserpass/hosts/chromium/com.github.browserpass.native.json'
Error: the symlink points to a non-existent location

我的 /usr/lib/browserpass 目录并没有 hosts 这个目录,是什么情况
thedrwu
2022-06-08 17:24:02 +08:00
@kaiger
也许是 deb 打包的锅,手动装一下,把 json 里的可执行文件的路径填对,那个 json 文件放对位置就行。
kaiger
2022-06-08 17:59:10 +08:00
@thedrwu 好的好的,我试试

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/855878

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX