
项目可以算是起源于多年前的一篇博客 https://ratazzi.org/2015/03/28/more-automation-after-OS-X-installed/ 在使用 uv mise 等工具后对速度有了便有了更高的要求
我用 Chef 很久了,因为我早已经受不了敲一堆 apt install 所以都是用 Chef 配置,Ruby 作为 DSL 太合适了,简直就像是英语,个人不喜欢 Ansible 和 Salt 那种,我宁愿敲命令也不想写巨复杂的 yaml ,但是 Chef 依赖还是太重,最重要的是在 macOS 安装会多一堆乱七八糟的,甚至建一个用户
为什么不用现成的 dotfiles 管理工具,我在大概了解了几个流行的工具之后发现他们的学习成本太高,我觉得 dotfiles 就应该简单的所见即所得,直接链接过去就好
因为 Ghostty 和 Bun 的火爆对 Zig 产生了兴趣,特别是对交叉编译和轻松使用 C 语言生态的能力,当然还有 mise 和 homebrew 这两个优秀的工具,所以在借助 AI 的能力快速验证想法后我觉得很可行,然后就有了这个项目:
https://github.com/ratazzi/hola
理念:
目标:
目前来说这个项目最大的吸引力可能是配置 Dock 等,相比 Chef 多了一些桌面端的能力:
# resources.rb macos_dock do apps [ '/Applications/Zed Preview.app/', '/Applications/Ghostty.app/', ] orientation :bottom autohide false magnification true tilesize 50 largesize 40 end hola provision resources.rb # 迁移当前 Dock hola dock > resources.rb # 链接 dotfiles ,安装 Homebrew 包,运行 mise install ,执行 provision hola apply 我已经把所有自建节点的 Chef 都换成了 Hola ,内存占用从几百 MB 降到个位数,小内存机器没压力了
1 wukaige 27 天前 wukaige in max in ~ which c 09:26 c: aliased to git --work-tree=/home/wukaige --git-dir=/home/wukaige/.dotfiles.git 用 git 的 bare 仓库管理配置文件也挺方便的啊,完全不用上管理工具 想管理哪个配置,直接 c add /path/to/config |