我觉得 chezmoi 管理 dotfile 不错啊, 有人用吗?

chezmoi 我用下来的几个优点:

  1. 它可以在不同平台管理不同的 dotfile, 你只要管理一个模板就行了
  2. 你可以让它帮你在配置 dotfile 的同时在别的地方下载一些东西, 比如自动下载 zsh 的一些插件到你指定的地方, 而且还会自动更新.
  3. 加密的方式管理你的密码, 或者是密钥

作为新手, 在不同平台同步配置文件一直很让我头痛, chezmoi 的缺点就是用起来有点复杂(对我来说), 虽然我现在已经可以正常使用它了. 我觉得应该会有更简单易用的方案可以一键配置机器. 我知道可以写脚本很方便, 可是它毕竟是挺耗时耗力的. 没有一个简单好用的 GUI 工具, 或者一个软件来解决这些问题吗?

我理想中的情况是对于对于每种机器开箱即用的配置进行打包, 上传到网络上可以选择分享, 就就像docker 的 image 一样, 你可以拉取一整套开箱即用的配置, 或者拉取部分软件的配置, 或者将自己的配置打包后上传到网络以供备份与迁移, 而这一切仅需点一点鼠标就行了.

不如 https://github.com/nix-community/home-manager

不支持 Windows

如果只配置 Linux 的话,我用 Guix,或者可以用 Ansible,和上面提到的 Nix。

另外图形化配置应该是没有的,可能是大家觉得配置还是要纯文本更方便检查

我试着在 macOS 上安装了一下, 卸载起来真的很麻烦. 我只是想管理一下配置文件, 没必要安装一个新的包管理器.

不过它看起来很有意思, 我应该先在一个虚拟机上试用一下, 似乎有一些学习成本.

我也是用这个,就是要先准备好流畅的网络环境很麻烦

额, 我的方法是在路由器上使用 Merlin clash 插件, 这样在内网的每一台设备都可以科学上网.

用stow我觉得也就够了,git clone之后stow一次,之后只要pull就好了

❯ tldr stow    

  Symlink manager.
  Often used to manage dotfiles.
  More information: <https://www.gnu.org/software/stow>.

  Symlink all files recursively to a given directory:

      stow --target=path/to/target_directory file1 directory1 file2 directory2

  Delete symlinks recursively from a given directory:

      stow --delete --target=path/to/target_directory file1 directory1 file2 directory2

  Simulate to see what the result would be like:

      stow --simulate --target=path/to/target_directory file1 directory1 file2 directory2

  Delete and resymlink:

      stow --restow --target=path/to/target_directory file1 directory1 file2 directory2

  Exclude files matching a regular expression:

      stow --ignore=regular_expression --target=path/to/target_directory file1 directory1 file2 directory2
1 个赞

但是环境会变呀,单位里不行哦

我没有参加过工作, 不清楚. 不过能用 git 的话应该也就能用 chezmoi 了吧. 或者把配置托管在 gitee上面?

我最开始也用过这种模式的,只是我是用的 json 配置,当然也不适用 Windows。不过后来放弃这种写法了。历史地址:https://github.com/RenChunhui/dotfiles/blob/develop/macos.config.json。

既然能用git,直接用git管理配置不就行了吗?支持跨平台包括Windows,还有什么不满足的吗?

chezmoi 支持模板替换,有的配置不同平台或者不同系统下设置不一样

我是一份配置走天下,自己实现了简单的模版。可能我的配置不够复杂吧 :joy:

个人觉得dotter更简单方便,同样跨平台

stow

就是每次更新配置文件的时候有点麻烦, 而且没网也不行

最近把dotfile从bare repo 迁移到了 chezmoi,因为 bare repo 处理跨平台文件不一样的问题的时候比较难受。chezmoi 的模板系统能比较好的解决不同系统下面需要不同配置文件的问题,ignore也能针对不同机器单独设置,就是windows下面不认$HOME,默认路径是C:\user\<username>\比较难受,另外windows cmd里面chezmoi cd之后的sub shell不会继承已有的环境变量,用起来有点奇怪,最后就是msys bash支持的不太好,chezmoi apply会直接崩溃,powershell 和 cmd 没问题。