Brew bundle is indeed very nice, albeit occasionally slow. I’ve generated two Brewfiles (one for Darwin and one for Linux kernels) and integrated them in my dotfiles in order to maintain consistency across different machines. I can think of a few ways to improve it (for instance, pin brew bundle to a file and update it automatically whenever software is [un|in]stalled,) but all told, quite happy with it.
I’ve done the same thing. A Brewfile in my dotfiles makes it really easy to keep my machines in sync.
Note that unlike real ruby bundler, it does not install specific versions in isolation. It just installs listed packages system-wide. Not much better than just creating shell script with brew install ....
brew install ...
If it worked like bundler, it would be viable alternative to Nix and Guix, but it’s hard to implement this on top of Homebrew. Note the level of complexity in these systems.
I have a side-project that was basically https://www.gitignore.io/ for Brewfiles that was basically done, but then didn’t get around to launching it publicly. I should do so!