# ============================================================================= # Brewfile (shareable) -- Mike Edwards, September 2026 # The following is an annotated public subset of my larger working Brewfile. # Documentation for Homebrew and Brewfile practices: https://brew.sh # ============================================================================= # --- Shell, prompt, session -------------------------------------------------- brew "direnv" # per-directory environment loading brew "fzf" # fuzzy finder brew "powerlevel10k" # prompt theme; configured in .p10k.zsh brew "tmux" # terminal multiplexer brew "zoxide" # recency-ranked directory jumping brew "zsh" # newer shell than macOS ships brew "zsh-autosuggestions" # inline suggestions from history brew "zsh-syntax-highlighting" # highlights commands when typed # --- Modern CLI replacements ------------------------------------------------- brew "bat" # cat with syntax highlighting brew "eza" # ls replacement brew "fd" # find replacement brew "htop" # interactive process viewer brew "less" # newer than macOS version brew "micro" # CLI text editor over nano and vi brew "ripgrep" # grep replacement (rg) brew "sd" # sed-style find and replace brew "tree" # directory tree display # --- Files and text handling ------------------------------------------------- brew "coreutils" # GNU utilities (required) brew "duti" # set default apps per file type brew "rename" # perl-powered batch rename brew "renameutils" # qmv and friends brew "terminal-notifier" # macOS notifications from the shell brew "watchexec" # run commands when watched files change # --- Documents, conversion, prose -------------------------------------------- brew "ocrmypdf" # OCR scanned PDFs; requires tesseract brew "pandoc" # document conversion export (required) brew "pandoc-crossref" # numbering and cross-references brew "poppler" # PDF rendering and text extraction brew "qpdf" # PDF OCR transformation (required) brew "tesseract-lang" # additional OCR language data brew "vale" # syntax-aware prose linter # --- Images and media -------------------------------------------------------- brew "exiftool" # read and write image metadata brew "ffmpeg" # audio and video transcoding (required) brew "graphviz" # graph layout and rendering brew "imagemagick" # image conversion and manipulation # --- Structured data --------------------------------------------------------- brew "csvkit" # CSV conversion and inspection brew "jq" # JSON processor brew "miller" # sed/awk/join for name-indexed data brew "sqlite" # SQLite CLI (required) # --- Version control --------------------------------------------------------- brew "difftastic" # structural, syntax-aware diff brew "gh" # GitHub CLI brew "git" # version control brew "git-delta" # syntax-highlighting pager for diffs # --- Languages and package managers ------------------------------------------ brew "fnm" # Node version manager brew "node" # JavaScript runtime (required) brew "pipx" # Python apps in isolated environments brew "pnpm" # fast Node package manager brew "pyenv" # Python version management brew "ruby" # newer than the macOS version brew "uv" # fast Python installer and resolver # --- Network and sync -------------------------------------------------------- brew "curl" # HTTP transfers brew "rclone" # rsync for cloud storage brew "syncthing" # cross-machine binaries sync brew "wget" # file retrieval # --- Encryption -------------------------------------------------------------- brew "age" # modern file encryption brew "gnupg" # OpenPGP (required) # --- Casks ------------------------------------------------------------------- cask "basictex" # minimal TeX, for pandoc PDF output cask "bunch" # macOS context/workspace automation cask "claude-code" # terminal AI coding assistant cask "iterm2" # terminal emulator