UX: Simplify brew installation
What were you trying to do
Install the Homebrew package.
What happened
I maintain a Brewfile that excludes transient dependencies for the software I want from the Homebrew repositories.
To install from a file like this, you'd do something along the lines of cat Brewfile | xargs brew install.
However, because the Formula is embedded within this repository, brew install str4d/rage/rage prompts for GitHub credentials disrupting my workflow.
If you look at my Brewfile, jzelinskie/faq/faq and txn2/tap/kubefwd are taps that work without this prompt.
A nice side effect is that installation becomes one line rather than having an explicit tap command before install.
$ brew install str4d/rage/rage
==> Tapping str4d/rage
Cloning into '/usr/local/Homebrew/Library/Taps/str4d/homebrew-rage'...
Username for 'https://github.com':^C
$ brew install jzelinskie/faq/faq
==> Installing faq from jzelinskie/faq
==> Downloading https://github.com/jzelinskie/faq/releases/download/0.0.6/faq-darwin-amd64
Already downloaded: /Users/jzelinskie/Library/Caches/Homebrew/downloads/9b55fe03b1640a7d62374496e112f9072f5df703b4eef71c8792e3f6f491344a--faq-darwin-amd64
==> mv faq-darwin-amd64 faq
🍺 /usr/local/Cellar/faq/0.0.6: 3 files, 12MB, built in 2 seconds
Thanks for the project and see you on Discord 🤗
The reason for requiring an explicit brew tap before installation is to ensure that the repository is not tied to GitHub, but instead to a domain I control. This enables me to move the repository to another code host (were it to become necessary) without breaking users.
That being said, I don't consume the Brewfile myself, so I don't see its UX. If there's something I can do to make it more usable within the above constraint, I'm happy to do so.