V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
techstay
V2EX  ›  Linux

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

  •  
  •   techstay ·
    techstay · 2022-05-28 17:40:50 +08:00 · 3845 次点击
    这是一个创建于 910 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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

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

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

    有好用的密码管理器推荐吗
    thedrwu
        15
    thedrwu  
       2022-06-07 18:56:22 +08:00 via Android   ❤️ 1
    @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
        16
    kaiger  
       2022-06-08 11:57:54 +08:00
    @thedrwu

    多谢,pass 很好用,但是我没找到浏览器插件,我用的 chrome ,方便提供一下插件下载地址吗
    thedrwu
        17
    thedrwu  
       2022-06-08 13:22:55 +08:00 via Android   ❤️ 1
    kaiger
        18
    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
        19
    thedrwu  
       2022-06-08 17:24:02 +08:00 via Android
    @kaiger
    也许是 deb 打包的锅,手动装一下,把 json 里的可执行文件的路径填对,那个 json 文件放对位置就行。
    kaiger
        20
    kaiger  
       2022-06-08 17:59:10 +08:00
    @thedrwu 好的好的,我试试
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2538 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 15:36 · PVG 23:36 · LAX 07:36 · JFK 10:36
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.