the clean setup is:
- app repo:
kacy/chatbubbles - tap repo:
kacy/homebrew-chatbubbles - formula path in the tap:
Formula/chatbubbles.rb
the formula should install both chatbubbles and chatbubbles-cli from the tagged release tarball.
for a normal public tap, the release tarballs have to be publicly downloadable.
if kacy/chatbubbles stays private, you have two real options:
- make the main repo or just its release artifacts public
- publish the release tarballs somewhere public and point the formula there
the helper script in this repo assumes public github releases from kacy/chatbubbles.
create a new public repo named:
kacy/homebrew-chatbubbles
then add:
Formula/chatbubbles.rb
- cut a new release tag in
kacy/chatbubbles - wait for the release workflow to publish:
chatbubbles_<version>_darwin_arm64.tar.gzchatbubbles_<version>_darwin_amd64.tar.gzchecksums.txt
- render the new formula from this repo:
make homebrew-formula VERSION=0.1.3or:
./scripts/render-homebrew-formula.sh 0.1.3that command pulls the published checksums.txt from the github release, so it matches the real release artifacts instead of a local rebuild.
if you ever need to override the checksums by hand, the helper still supports:
./scripts/render-homebrew-formula.sh 0.1.3 <arm64-sha256> <amd64-sha256>- paste the output into
Formula/chatbubbles.rbin the tap repo - run the usual brew checks in the tap repo:
brew style Formula/chatbubbles.rb
brew install --formula ./Formula/chatbubbles.rb- commit and push the tap update
the formula generated here does a few things on purpose:
- depends on
imsg - installs both
chatbubblesandchatbubbles-cli - keeps tailscale as a manual prerequisite in
caveats - leaves macOS permissions in
caveats, since brew cannot grant them for you
once the tap is live, the install path is:
brew tap kacy/chatbubbles
brew install kacy/chatbubbles/chatbubblesthat gets the binaries onto the machine, but the user still needs:
- tailscale installed and signed in
- Messages signed in
- full disk access and automation permissions granted