纯技术的来了 Hola: Brewfile + mise.toml + dotfiles = 你的开发环境

2025 年 11 月 28 日
 ratazzi

项目可以算是起源于多年前的一篇博客 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 降到个位数,小内存机器没压力了

2939 次点击
所在节点    分享创造
2 条回复
wukaige
2025 年 11 月 28 日
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
ratazzi
2025 年 11 月 28 日
@wukaige 对,如果单机只管理 dotfiles 的话这样也挺好

开发这个工具是 更侧重于根据 dotfiles 直接配置开发环境

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://v2ex.ih06.com/t/1175550

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX