想咨询下chezmoi管理dotfile时,软件安装相关部分是如何处理的,在网络检索了下,没看到相关内容。 一个新环境中,除了配置文件需要同步外,软件安装也是挺重要的一环。例如rg,Emacs,zsh,tmux等
chezmoi只管配置文件的,你说的那种能重建一个环境的(包括软件和配置文件),大概只有nix和guix能做到吧
那是说使用chezmoi时,需要另外使用一个类似chezmoi处理跨平台配置的软件来负责跨平台的软件的安装了。只是目前这个软件,暂时还没有,需要手动管理吧
可以安装的, 参考https://www.chezmoi.io/user-guide/use-scripts-to-perform-actions/#install-packages-with-scripts
这些我都不清楚,我还没与尝试在 Windows 上用 chezmoi。似乎对 Windows 的支持不是很完善,你可以在 github 上提 issue 问作者。
ansible playbook 吧
chezmoi 有个问题:一旦一个配置文件被 chezmoi 托管了,就只能通过 chezmoi edit 来修改了。而且 chezmoi 会基于他们的约定俗成来修改这些配置文件原本的名称,导致在 GitHub 上看文件的时候会不方便。
我从来不用 chezmoi edit,都是直接用 Emacs 去编辑 ~/.local/share/chezmoi下的文件,因为它有版本控制。编辑完成后,执行一次 chezmoi apply 进行测试,如果没问题,就直接在 Emacs 中使用 magit push。
这类基于 git 的配置文件管理工具都具有 git 自身的一个缺点,也就是不适合管理体积较大的文件,例如字体文件、图标主题文件等,还包括 Firefox 的 profile 目录(我知道 Firefox 可以自建同步服务,这里只是举个例子)这种非常复杂的结构。所以我一直想找一个不基于 git 但提供其他功能(例如软链接管理)的类似工具。
我当前使用的方案是 fstab 结合 bind mount,自动化程度很低,也仅支持目录(不支持单文件),版本备份使用 btrfs 快照,只能说刚刚够用。
chezmoi apply 是双向(~/ 和 chezmoi 的存储库之间)同步么?
不是双向的,chezmoi apply 是把chezmoi 的存储库的内容(~/.local/share/chezmoi)应用到最终要使用的位置。
我觉得stow够用了,而且使用逻辑也更简单。
哦是我看错了。
不过直接去改 ~/.local/share/chezmoi 也有问题: