{"id":35532656,"url":"https://github.com/ratazzi/hola","last_synced_at":"2026-04-17T02:05:00.433Z","repository":{"id":325825405,"uuid":"1102476947","full_name":"ratazzi/hola","owner":"ratazzi","description":"Zero-dependency macOS setup tool. Combines Brewfile, mise, and dotfiles management into a single binary.","archived":false,"fork":false,"pushed_at":"2026-04-11T00:31:32.000Z","size":585,"stargazers_count":18,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2026-04-11T03:38:59.598Z","etag":null,"topics":["agent","chef","configuration-management","devenv","dotfiles","homebrew","linux","macos","mise","provisioning","zig"],"latest_commit_sha":null,"homepage":"https://hola.ac","language":"Zig","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ratazzi.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-11-23T14:34:40.000Z","updated_at":"2026-04-10T14:51:43.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/ratazzi/hola","commit_stats":null,"previous_names":["ratazzi/hola"],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/ratazzi/hola","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ratazzi%2Fhola","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ratazzi%2Fhola/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ratazzi%2Fhola/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ratazzi%2Fhola/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ratazzi","download_url":"https://codeload.github.com/ratazzi/hola/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ratazzi%2Fhola/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31911850,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-16T18:22:33.417Z","status":"online","status_checked_at":"2026-04-17T02:00:06.879Z","response_time":62,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["agent","chef","configuration-management","devenv","dotfiles","homebrew","linux","macos","mise","provisioning","zig"],"created_at":"2026-01-04T02:15:48.365Z","updated_at":"2026-04-17T02:05:00.413Z","avatar_url":"https://github.com/ratazzi.png","language":"Zig","readme":"# Hola\n\n\u003e **Brewfile + mise.toml + dotfiles = Done**\n\nSet up your Mac in minutes.\nHola is a single-binary configuration manager written in Zig. It installs Homebrew packages, sets up dotfiles, and configures macOS defaults—all from a single command.\n\n## What You Need\n\nCreate `username/dotfiles` on GitHub with three simple files:\n\n### 1. 🍺 **~/.Brewfile** (Homebrew's native format)\n\n```ruby\nbrew \"tmux\"\nbrew \"neovim\"\ncask \"ghostty\"\ncask \"zed@preview\"\ncask \"orbstack\"\n```\n\nHomebrew integration.\n\n### 2. 🛠️ **mise.toml** (mise's native format)\n\n```toml\n[tools]\nnode = \"24\"\npython = \"3.14\"\n```\n\nLock your tool versions. Never drift.\n\n### 3. 📂 **~/.dotfiles/** (your dotfiles)\n\n```\ndotfiles/.zshrc      → ~/.zshrc\ndotfiles/.gitconfig  → ~/.gitconfig\n```\n\nSymlink mapping. Dead simple.\n\n**No custom syntax. No learning required.**\n\n---\n\n## Installation\n\n### Quick Install (Recommended)\n\n```bash\ncurl -fsSL https://hola.ac/install | bash\n```\n\nThis downloads the binary for your architecture (arm64/x86_64) and installs it to the current directory.\n\n### Homebrew\n\n```bash\nbrew install ratazzi/hola/hola\n```\n\n### Manual Download\n\nDownload the latest release from [GitHub Releases](https://github.com/ratazzi/hola/releases):\n\n```bash\n# macOS (Apple Silicon)\ncurl -fsSL https://github.com/ratazzi/hola/releases/latest/download/hola-macos-aarch64 -o hola\nchmod +x hola\nxattr -d com.apple.quarantine hola\nsudo mv hola /usr/local/bin/\n\n# Linux (x86_64)\ncurl -fsSL https://github.com/ratazzi/hola/releases/latest/download/hola-linux-x86_64 -o hola\nchmod +x hola\nsudo mv hola /usr/local/bin/\n```\n\n---\n\n## Why Hola?\n\n### Convention Over Configuration\n\n- **Zero learning curve**: Use Brewfile and mise.toml you already know\n- **No custom syntax**: No templates, no special comments, no magic\n- **Native integration**: First-class Homebrew and mise support\n- **macOS declarative**: Configure Dock and system preferences as code\n- **Tool version locking**: Reproducible environments across machines\n\n### It Just Works™\n\n```bash\n# One command to set up everything\nhola apply\n\n# Packages, tools, dotfiles, and system settings - all done\n```\n\n---\n\n## Advanced: ~/.config/hola/provision.rb (Optional)\n\n**90% of users only need Brewfile + mise.toml + dotfiles/.**\n\nFor the other 10% who need complex logic, we provide a beautiful Ruby DSL:\n\n```ruby\n# resources.rb - reads like English, because it's Ruby\n\nfile \"/etc/hosts\" do\n  content \"127.0.0.1 local.dev\"\nend\n\nexecute \"install-oh-my-zsh\" do\n  command 'sh -c \"$(curl -fsSL https://ohmyz.sh/install.sh)\"'\n  not_if { Dir.exist?(\"~/.oh-my-zsh\") }\nend\n```\n\n###  macOS Native Integration\n\nConfigure macOS settings declaratively with **full type safety**:\n\n```ruby\n# Configure macOS Dock\nmacos_dock do\n  apps [\n    '/Applications/Google Chrome.app/',\n    '/Applications/Zed Preview.app/',\n    '/Applications/Ghostty.app/',\n  ]\n  orientation \"bottom\"\n  autohide false\n  magnification true\n  tilesize 50\n  largesize 40\nend\n\n# Keyboard repeat rate (lower = faster)\nmacos_defaults 'keyboard repeat rate' do\n  global true\n  key 'KeyRepeat'\n  value 1\nend\n\nmacos_defaults 'initial key repeat delay' do\n  global true\n  key 'InitialKeyRepeat'\n  value 15\nend\n\nmacos_defaults 'show all file extensions' do\n  domain 'com.apple.finder'\n  key 'AppleShowAllExtensions'\n  value true\nend\n```\n\n**Features:**\n- ✅ **Type-safe**: Boolean, Integer, Float, String - automatically handled\n- ✅ **Idempotent**: Only updates when values differ\n- ✅ **Auto-restart**: Automatically restarts Finder/Dock/SystemUIServer when needed\n- ✅ **No manual `defaults` commands**: Just declare what you want\n\nNo YAML hell. No cryptic property lists. Just readable code.\n\nIf you know Ruby, you already know this. If you don't, you can still read it.\n\n---\n\n## Performance\n\n### Built with Zig. Stupid Fast.\n\n- **~6 MB** - Single static binary with embedded Ruby interpreter\n- **8ms** - Cold start time\n- **Zero dependencies** - No runtime required\n- **Native code** - Compiled for your architecture\n\n---\n\n## Commands\n\n```bash\nhola apply             # Run Brewfile + mise.toml + symlinks\nhola provision         # Run provision.rb (advanced)\n```\n\n---\n\n## License\n\nMIT\n\n**Stop learning tools. Start coding.**\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fratazzi%2Fhola","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fratazzi%2Fhola","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fratazzi%2Fhola/lists"}