开源项目 用 mruby 的来了 Hola: Brewfile + mise.toml + dotfiles = 你的开发环境

ratazzi · 2025年11月28日 · 35 次阅读

项目可以算是起源于多年前的一篇博客 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 就应该简单的所见即所得,直接链接过去就好

因为 GhosttyBun 的火爆对 Zig 产生了兴趣,特别是对交叉编译和轻松使用 C 语言生态的能力,当然还有 mise 和 homebrew 这两个优秀的工具,所以在借助 AI 的能力快速验证想法后我觉得很可行,然后就有了这个项目:

https://github.com/ratazzi/hola

理念:

  • 约定胜于配置,dotfiles 就是简单的软链接

目标:

  • 链接 dotfiles
  • 安装软件包
  • 管理配置文件

目前来说这个项目最大的吸引力可能是配置 Dock 等,相比 Chef 多了一些桌面端的能力:

# provision.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 降到个位数,小内存机器没压力了

暂无回复。
需要 登录 后方可回复, 如果你还没有账号请 注册新账号