Goal
Create tools/ folders for brew formulae currently managed only via the hand-maintained main Brewfile at tools/homebrew/config/Brewfile. Each new folder makes the tool self-contained and discoverable.
Context
This is issue 5 of 9 in a sequential migration to a single aggregated brew bundle call.
Prerequisite: Complete issue #115 (4/9) first.
Minimum files per tool
For a brew-only tool with no config: Brewfile, utils.bash, install.bash.
Use tools/@new/ as a template. See tools/btop/ or tools/eza/ for minimal examples.
update.bash is not needed — brew updates are handled globally by the aggregated Brewfile generator (issue #119).
Brewfile template
# machine detection — wrap entries in a conditional block to restrict by machine:
# if computer_name == "Air" ... end
# if computer_name == "Mini" ... end
# if ["7385-Y3FH97X-MAC", "MULO-JQ97NW-MBP"].include?(computer_name) ... end
computer_name = `networksetup -getcomputername`.chomp
brew "formula-name"
Checklist
Packages to audit before creating folders
These are likely build subdependencies of other brew packages rather than directly-used tools. If so, they belong in the relevant tool's Brewfile — not as top-level tool folders.
Reference
Goal
Create
tools/folders for brew formulae currently managed only via the hand-maintained main Brewfile attools/homebrew/config/Brewfile. Each new folder makes the tool self-contained and discoverable.Context
This is issue 5 of 9 in a sequential migration to a single aggregated
brew bundlecall.Prerequisite: Complete issue #115 (4/9) first.
Minimum files per tool
For a brew-only tool with no config:
Brewfile,utils.bash,install.bash.Use
tools/@new/as a template. Seetools/btop/ortools/eza/for minimal examples.update.bashis not needed — brew updates are handled globally by the aggregated Brewfile generator (issue #119).Brewfile template
Checklist
tools/bats-core/—brew "bats-core"tools/coreutils/—brew "coreutils"tools/git-delta/—brew "git-delta"tools/github-keygen/—brew "github-keygen"tools/goose/—brew "goose"tools/httpie/—brew "httpie"tools/imagemagick/—brew "imagemagick"tools/jq/—brew "jq"tools/kubectx/—brew "kubectx"tools/m-cli/—brew "m-cli"tools/mas/—brew "mas"tools/postgresql/—brew "postgresql@14"tools/speedtest-cli/—brew "speedtest-cli"Packages to audit before creating folders
These are likely build subdependencies of other brew packages rather than directly-used tools. If so, they belong in the relevant tool's Brewfile — not as top-level tool folders.
libpq— PostgreSQL client library; createtools/libpq/only if used directly (e.g.psqlindependently of the postgresql formula)svn— Subversion; likely pulled in as a build dependency by another formula; verify before creating a folderReference
tools/@new/— template for a new tool foldertools/btop/— minimal brew-only exampletools/eza/— another minimal example (after issue [1/9] feat(brew): replace direct brew calls with Brewfiles in existing tool folders #112 lands)