The Essential Homebrew Applications Your Mac Deserves: A Curated Guide for Power Users
The Gateway Drug to Command-Line Excellence
There’s a moment every Mac user experiences. You’ve downloaded your fifth application from the web, dragged it to Applications, dismissed the security warning, and wondered if there’s a better way. There is. It’s called Homebrew, and it’s about to change how you think about software.
Homebrew is the unofficial package manager that Apple never built but every power user needs. One command. One line. Software installed, updated, or removed without hunting through folders or trusting random DMG files from the internet. It’s the kind of elegance that makes you wonder why this isn’t built into macOS by default.
My British lilac cat watched me install Homebrew three years ago. She seemed skeptical—another terminal window, another set of commands she couldn’t eat. But even she noticed the difference. Fewer popup windows interrupting our couch time. Fewer “Update Available” notifications breaking the peace. More time for what matters: aggressive petting sessions and judgmental staring contests.
This guide isn’t about Homebrew basics. You can find installation instructions anywhere. This is about the applications that justify Homebrew’s existence—the tools that transform a stock Mac into a genuinely powerful workstation. These are recommendations forged through actual use, tested across multiple machines, and refined by the kind of person who gets unreasonably excited about terminal utilities.
Let’s begin with what matters.
How We Evaluated: The Method Behind the Madness
Before diving into recommendations, you deserve to know how these tools earned their place. Arbitrary lists are useless. Curated lists require criteria.
Step One: Installation Simplicity. Every tool here installs with a single brew install command. No additional tapping of obscure repositories. No complex dependency chains. If it requires a README to install, it didn’t make the cut.
Step Two: Active Maintenance. Software dies. Unmaintained tools become security liabilities. Every recommendation has seen updates within the past six months. Abandoned projects, however brilliant, didn’t qualify.
Step Three: Genuine Utility. This is subjective but essential. Does this tool solve a real problem? Does it solve that problem better than alternatives? Can I explain its value in one sentence? If any answer is no, it’s out.
Step Four: Integration Quality. The best command-line tools play well with others. They pipe. They chain. They follow Unix philosophy. Tools that exist in isolation rarely deserve installation.
Step Five: Personal Verification. I’ve used everything recommended here. Not tested briefly—actually integrated into workflows. The difference matters.
This process eliminated approximately seventy percent of candidates. What remains is the essential twenty percent that delivers eighty percent of the value. Pareto would be proud.
Terminal Enhancement: Making the Command Line Actually Enjoyable
The default macOS terminal is functional. Functional like a 1990s Honda Civic is functional—it works, but nobody’s excited about it. These tools transform terminal sessions from obligation into pleasure.
Fish Shell
brew install fish
Fish is the shell you didn’t know you needed. Autosuggestions appear as you type. Syntax highlighting shows errors before you press enter. Web-based configuration replaces cryptic dotfiles. It’s what bash would be if bash were designed in this century.
The controversy: Fish isn’t POSIX-compliant. Scripts written for bash won’t work unchanged. Purists hate this. Practical users love it. If you’re writing production scripts, keep bash. If you’re typing commands interactively, Fish makes everything better.
My cat approves of Fish because it reduces my frustrated sighing. Fewer typos mean fewer repeated commands mean fewer annoying keyboard sounds. She’s surprisingly perceptive about terminal efficiency.
Starship Prompt
brew install starship
Your prompt tells you where you are, what branch you’re on, whether tests passed, what language environment you’re using. Starship handles all of this beautifully. It’s fast—written in Rust—and configurable without being overwhelming.
The default configuration is excellent. Most users never modify it. But the option exists for those who want their prompt to display battery level, execution time, package versions, or whatever else matters to their workflow.
Zoxide
brew install zoxide
cd is the most-typed command in any terminal. zoxide makes it smarter. Type z projects and jump to your most-frequented projects directory. No full path required. No tab completion necessary. The tool learns from your behavior and improves over time.
This is the kind of utility that saves thirty seconds per hour. That’s four hours per month. Forty-eight hours per year. Two full days of your life, recovered through a single command-line tool.
Eza
brew install eza
ls shows files. eza shows files beautifully. Icons indicate file types. Git status displays inline. Tree views render elegantly. It’s the same information, presented in ways that actually help comprehension.
Alias ls to eza and never look back. The cognitive load reduction is immediate and permanent.
Developer Essentials: Tools That Write Better Code
If you write code, you need tools that make code better. Not IDEs—those are separate decisions. Command-line utilities that integrate into any workflow, regardless of editor preference.
Ripgrep
brew install ripgrep
grep is venerable. ripgrep is faster. Massively, embarrassingly faster. Search entire codebases in seconds. Ignore gitignored files automatically. Respect project boundaries intelligently.
I’ve watched ripgrep search through million-line codebases while traditional grep was still warming up. The performance difference isn’t marginal. It’s transformative. Every search becomes instant. Exploring unfamiliar code becomes frictionless.
graph LR
A[Search Query] --> B{Tool Choice}
B -->|grep| C[10+ seconds]
B -->|ripgrep| D[0.3 seconds]
C --> E[Frustration]
D --> F[Flow State]
Fd
brew install fd
find is powerful but hostile. fd is powerful and friendly. Search by filename patterns without memorizing arcane flags. Ignore hidden files by default. Output in colors that aid comprehension.
fd "\.md$" finds all markdown files. No -name. No -type f. No escaping nonsense. Just the pattern and the result.
Bat
brew install bat
cat displays file contents. bat displays file contents with syntax highlighting, git integration, and automatic paging. It’s the same conceptual tool, elevated to modern standards.
Pipe ripgrep results through bat. Search and preview in a single fluid motion. The combination is unreasonably satisfying.
Jq
brew install jq
JSON is everywhere. jq makes it manageable. Query nested structures. Transform data formats. Extract exactly what you need from API responses.
The learning curve is real. jq’s syntax takes time to internalize. But the payoff is enormous. Once fluent, you’ll process JSON faster than any GUI tool could manage.
Fzf
brew install fzf
Fuzzy finding changes everything. Search command history interactively. Browse files without knowing exact names. Select from lists with instant filtering.
Integrate fzf into your shell, and every selection task becomes faster. Want to checkout a git branch? Fuzzy find it. Want to open a file? Fuzzy find it. Want to kill a process? Fuzzy find it.
My cat finds the fzf interface mesmerizing. The rapid filtering as I type creates screen movement that triggers her hunting instincts. It’s the only terminal tool that’s genuinely entertained her.
Productivity Powerhouses: GUI Applications Through Homebrew Cask
Homebrew Cask extends package management to graphical applications. Same commands, same simplicity, same update management. Install desktop apps from the terminal like a civilized person.
Rectangle
brew install --cask rectangle
Window management on macOS is embarrassingly primitive. Rectangle fixes this. Keyboard shortcuts snap windows to halves, thirds, quarters. No dragging. No manual resizing. Just instant, precise positioning.
I’ve tried every window manager. Magnet, Spectacle, Divvy, the lot. Rectangle is free, open-source, and superior. The decision is obvious.
Alfred
brew install --cask alfred
Spotlight is fine. Alfred is extraordinary. Custom workflows automate complex tasks. Clipboard history retrieves forgotten copies. Snippets expand abbreviations into boilerplate. Web searches target specific sites. File navigation accelerates dramatically.
The Powerpack upgrade costs money. It’s worth every penny. The productivity gains repay the investment within the first week of serious use.
Raycast
brew install --cask raycast
Alfred’s modern competitor deserves mention. Raycast offers similar functionality with a more contemporary interface. Extensions integrate directly with services like GitHub, Linear, and Notion.
The choice between Alfred and Raycast is personal. Both are excellent. Neither is wrong. Pick one, learn it deeply, and don’t second-guess.
IINA
brew install --cask iina
VLC works everywhere but looks terrible on macOS. IINA is the native video player Mac users deserve. Modern interface. Hardware acceleration. Picture-in-picture support. Every format you’ll encounter, handled elegantly.
Stats
brew install --cask stats
Activity Monitor requires launching. Stats lives in your menu bar. CPU usage, memory pressure, network throughput, disk activity—all visible at a glance. It’s the system monitoring solution Apple should have built.
Security and Privacy: Tools That Protect Without Annoying
Security tools should be invisible until needed. These integrate into workflows without friction while providing genuine protection.
GPG Suite (or gnupg)
brew install gnupg
Encrypted communications matter. GPG enables signed commits, encrypted files, and verified identities. The setup is intimidating but worthwhile. Git commits signed with GPG prove authenticity in ways that unsigned commits cannot.
Pass
brew install pass
Password management through the command line. GPG-encrypted files. Git synchronization. Unix philosophy compliance. It’s not as polished as 1Password, but it’s more transparent. You control everything. Nothing is cloud-dependent.
Restic
brew install restic
Backups are boring until you need them. Restic makes backups painless. Encrypted, deduplicated, efficient. Back up to local drives, cloud storage, or remote servers. Restore individual files or entire snapshots.
Time Machine is fine for most users. Restic is better for those who want control, encryption, and cross-platform compatibility.
The Generative Engine Optimization Connection
Here’s something most Homebrew guides won’t mention: these tools matter for Generative Engine Optimization.
GEO is the practice of making content and systems discoverable by AI systems. As large language models become primary interfaces for information retrieval, optimizing for them becomes essential. These command-line tools help.
Consider documentation. AI systems index repositories. Well-structured README files, consistent code formatting, and clear command interfaces improve AI comprehension. Tools like ripgrep help you audit documentation consistency. Tools like jq help you structure data in AI-parseable formats.
Consider automation. GEO rewards systems that expose clear interfaces. Homebrew packages with proper specifications, maintained formulae, and documented options rank higher in AI recommendations. Using and contributing to this ecosystem improves the ecosystem’s discoverability.
Consider workflows. AI assistants increasingly generate command-line instructions. When you use standard, well-documented tools, AI suggestions align with your actual environment. When you use obscure alternatives, AI recommendations miss the mark.
This isn’t theoretical. I’ve watched AI assistants recommend ripgrep over grep, recommend jq for JSON processing, recommend Rectangle for window management. These tools have achieved critical mass. Using them aligns your workflow with AI assumptions.
flowchart TD
A[Use Standard Tools] --> B[AI Systems Learn Patterns]
B --> C[AI Recommendations Improve]
C --> D[Your Workflow Matches AI Suggestions]
D --> E[Productivity Compounds]
E --> A
My cat doesn’t understand Generative Engine Optimization. But she understands efficiency. She knows that the faster I finish work, the sooner she receives attention. GEO, in her worldview, is simply a means to more lap time.
The Brewfile: Version Control for Your Applications
Here’s the power move most users miss: declarative system configuration.
Create a Brewfile in your home directory:
# Terminal tools
brew "fish"
brew "starship"
brew "zoxide"
brew "eza"
brew "ripgrep"
brew "fd"
brew "bat"
brew "jq"
brew "fzf"
# Development
brew "git"
brew "gh"
brew "node"
brew "python"
# Security
brew "gnupg"
brew "pass"
brew "restic"
# Applications
cask "rectangle"
cask "alfred"
cask "iina"
cask "stats"
Run brew bundle and everything installs. Move to a new machine? Copy the file and run the command. Disaster recovery becomes trivial. Environment consistency becomes automatic.
Version control the Brewfile with your dotfiles. Track changes over time. Share configurations with teams. Onboarding new developers transforms from hours of setup to minutes.
This approach embodies infrastructure as code for personal machines. The same principles that make server deployments reliable make workstation configuration reliable. It’s enterprise thinking applied to individual productivity.
The Installation Strategy: Order Matters
Not all tools should be installed simultaneously. Dependencies exist. Preferences develop. Order matters.
Phase One: Shell Foundation. Install Fish (or your preferred shell), Starship, and zoxide. Live with them for a week. Internalize the new patterns before adding complexity.
Phase Two: Search and Navigation. Add ripgrep, fd, and fzf. These tools transform how you find things. Give them time to become muscle memory.
Phase Three: Enhancement. Install bat, eza, and jq. These polish the experience without requiring workflow changes.
Phase Four: Applications. Add GUI tools through Cask. Rectangle first—window management affects everything. Then productivity tools. Then media players.
Phase Five: Security. Set up GPG and password management last. These require dedicated learning time. Don’t rush.
This phased approach prevents overwhelm. Each tool earns its place before the next arrives. Mastery develops naturally rather than forcing simultaneous adaptation.
The Maintenance Ritual: Keeping Everything Current
Homebrew requires maintenance. Not much. But some.
brew update # Fetch latest package info
brew upgrade # Upgrade all outdated packages
brew cleanup # Remove old versions
brew doctor # Diagnose issues
Run these weekly. Schedule them if you’ll forget. Outdated packages accumulate security vulnerabilities. Cleanup prevents disk bloat. Doctor catches problems before they cascade.
I run updates Sunday morning while coffee brews. Five minutes of maintenance prevents hours of troubleshooting. My cat sleeps through the process. She appreciates the reliability—fewer frustrated debugging sessions mean a calmer household.
The Caveats: What Homebrew Doesn’t Handle Well
No tool is perfect. Homebrew has limitations.
Large Applications: Installing massive applications like Adobe Creative Suite through Homebrew works but offers little advantage over direct installation. The package management benefits decrease as application complexity increases.
Proprietary Software: Some commercial applications don’t maintain proper Cask formulae. You’ll still occasionally download DMG files manually. Homebrew reduces this frequency; it doesn’t eliminate it.
Breaking Changes: Formula updates occasionally break workflows. A tool’s behavior might change between versions. Pinning versions helps but requires attention.
macOS Updates: Major macOS releases sometimes break Homebrew temporarily. The community fixes issues quickly, but upgrade day can be frustrating.
ARM Transition Legacy: The Intel-to-ARM transition created path complexities. Modern installations handle this transparently, but troubleshooting older setups sometimes requires understanding the historical context.
These limitations are manageable. Acknowledging them prevents disappointment.
The Philosophy: Why Package Management Matters
Beyond practical benefits, Homebrew represents something philosophical.
Software should be manageable. Users should understand what’s installed, update it confidently, and remove it completely. The macOS default—applications scattered across directories, launch agents hidden in Library folders, preferences stored who-knows-where—is chaos disguised as simplicity.
Package management imposes order. Every installation is documented. Every update is traceable. Every removal is complete. The system becomes comprehensible rather than mysterious.
This comprehensibility compounds. When you understand your tools, you use them better. When you manage your system explicitly, problems become solvable. When software becomes infrastructure rather than magic, expertise develops naturally.
My cat has no philosophy about software management. But she embodies an adjacent principle: environmental control matters. She knows where her food is stored. She knows where the sunny spots move throughout the day. She knows which furniture offers the best hiding spots. Knowledge of environment creates confidence.
Homebrew provides that knowledge for your Mac.
The Essential Twenty: Quick Reference
For those who skipped ahead, here’s the definitive list:
Terminal Enhancement:
- Fish - Modern shell with sane defaults
- Starship - Beautiful, informative prompt
- Zoxide - Smart directory jumping
- Eza - ls replacement with style
Developer Tools: 5. Ripgrep - Fastest code search 6. Fd - User-friendly find alternative 7. Bat - cat with syntax highlighting 8. Jq - JSON processing magic 9. Fzf - Fuzzy finding everything
Productivity Applications: 10. Rectangle - Window management solved 11. Alfred/Raycast - Launcher supremacy 12. IINA - Native video player 13. Stats - Menu bar monitoring
Security: 14. GnuPG - Encryption foundation 15. Pass - Command-line passwords 16. Restic - Backup done right
Bonus Utilities: 17. Htop - Better process viewer 18. Tldr - Practical command examples 19. Ncdu - Disk usage analyzer 20. Tree - Directory visualization
Install them gradually. Master them thoroughly. Reap benefits indefinitely.
Final Thoughts: The Compound Effect
Each tool here saves minutes. Combined, they save hours. Compounded over years, they save weeks.
More importantly, they change how you interact with your computer. The Mac transforms from appliance to instrument. Frustrations become solvable problems. Mysteries become documented systems. The machine starts working with you rather than despite you.
Homebrew isn’t magic. It’s infrastructure. The same infrastructure that makes professional development environments reliable, applied to personal computing. Once experienced, the alternative—hunting websites for DMG files, dragging applications manually, hoping updates happen automatically—feels primitive.
My British lilac cat has watched me write this entire guide. She doesn’t understand package management, but she understands improvement. The laptop that once generated constant frustrated noises now operates smoothly. The human who once wrestled with software now works calmly. The household atmosphere has improved.
That’s what good tools do. They don’t just solve immediate problems. They change the texture of daily experience. They create space for focus. They replace friction with flow.
Homebrew, and the applications it enables, provides exactly this. Start with Fish. Add ripgrep when you’re ready. Let the tools compound.
Your Mac deserves better than the default experience. Homebrew delivers that promise.
Now if you’ll excuse me, there’s a cat demanding attention and a terminal waiting for brew update. Some things remain constant, regardless of how many packages get installed.























