Brew Bundle
Cold brew bundle. $29.99 -+ please select an option about this product. Our cold brew infusions are perfect for popping in your water bottle and heading straight out the door. Don't have a reusable bottle? Our eva solo bottles are the perfect summer sidekick to our cold brew teas - pick up your favorite flavor combo, and enjoy cold. Toddy Cold Brew Bundle $ 54.25 $ 45.00 Your favorite cold brewer paired with your favorite coffee at a discounted price, does it get any better? This kit has everything you need to start making delicious cold brew. Pick your brew method & bundle up today for an epic manual brewing experience! All our coffee brewing bundles offer extreme value and are the quickest and cheapest way to build up your coffee kit! Our brewmasters have combined their favourite coffee brewing products to save you the time of researching each individual component for every brew. We’ve got the perfect gift for the coffee lover in your life! Brew-ready bundle includes: BruTrek 32oz. French Press with Bru-Stop 7″ Medium Airscape® Classic stainless steel coffee storage canister A perfectly balanced, ideally sized Coffee Scoop. We’ve got the perfect gift for the coffee lover in your life! Brew-ready bundle includes: BruTrek 32oz. French Press with Bru-Stop 7″ Medium Airscape® Classic stainless steel coffee storage canister A perfectly balanced, ideally sized Coffee Scoop.
This episode requires Homebrew, so if you haven't yet installed it, watch last week's Hands on Mac and install it now.
Then open the Terminal and type
`homebrew bundle`
to install the bundler.
If you've been using homebrew you can automatically write a bundle with the command
`brew bundle dump`
add the —describe switch to get a comment before each item in the brewfile describing its use
`brew bundle dump —describe`
Last week we mentioned a cool tool called `mas` - if you've installed it you can also use brewfiles to install Mac App Store apps. brew bundle dump will automatically add these to your brewfile.
Save your brewfile to iCloud or locally and now when you set up a new Mac you can use it to automatically install everything.
Once you've created a brewfile, updating brew is as simple as issuing the command brew bundle.
Thanks to brew and mas, updating your Mac system entirely is as simple as:
`sudo softwareupdate -ia —verbose ; brew bundle -v ; brew cleanup ; brew doctor —verbose`
softwareupdate is a built-in MacOS command to update the system from the command line. To see which updates are needed type
`softwareupdate -l`
it will also let you know whether a reboot will be required
the -i switch can be used to specify individual components to be updated, -ia says update them all.
We covered the brew commands last week.
Combining softwareupdate with brew bundle -v will upgrade everything on your system that's been installed using mas or brew, too.
Leo Laporte gives you helpful tips to get the most from your Mac every week on Hands-On Mac.
Download or subscribe to this show at https://twit.tv/shows/hands-on-mac
Discuss episodes in the TWiT Community.
Links
Copyright & License
Unless otherwise noted (either in this file or in a file's copyright section) the contents of this gist are Copyright
Sponsor
If you more tips and advice like these, you can become a monthly patron on my GitHub Sponsor Page for as little as $5 a month; and your contributions will be multipled, as GitHub is matching the first $5,000!This gist is all about Homebrew, so if you like it you can support it by donating to them or becoming one of their Github Sponsors.
Intro to Brew, Bundle, and Brewfile
If you are using a Mac as your development environment, you really should be using Brew. You probably should be using it if you are a power user as well, as it isn't really that difficult.
A key feature of Brew is its ability to set up your Mac to a known configuration. It does this a feature called Bundle that uses Brewfiles. As doing development, or experimenting with new apps can break your system, I can easily restore back to a known configuration, both on my primary Macs, but also in VMware Fusion instances where I do more testing, including testing on old versions of MacOS and new beta versions of MacOS.
A version of Brew also is available on Linux, but I mostly use apt-get on Debian. I am considering some cross-platform development scripts to use Brew instead.
Installing Brew
Compete details are at Brew but fairly simple to install. Open terminal.app (command-space + 'terminal') and paste this command on the command line.
If you don't have a recent version of macOS, you may need to install the latest Xcode command tools first. I don't like downloading all of Xcode, so I use this trick to only install the latest command-line tools.
Brew Bundle Uninstall
Another easy way to install all of this, along with some good basic security hardening practices, is to use Mike McQuaid's Strap tool by going to https://macos-strap.herokuapp.com/. If you have a github account, it will also install basic github permissions.
Basic Brew Bundle
The most basic command
Looks for ~/Brewfile
and installs its contents
Install a specific brewfile
If you want to use a brewfile from a non-standard place.
Or more specifically:
Creating a Brewfile
You can dump a Brewfile of your current brew/cask/mas entries into your current directory with
or to a specific directory and file name.
If a Brewfile already exists, you'll need to do
Cleaning up to match brewfile
If you want your current system configuration to match your brewfile
Best Practices: brew cask
, mas
and cu
A key practice is to install EVERYTHING possible using brew, brew cask, or mas. Even things like fonts!
Three tools that really make this work for more than just development tools is the ability to install a large number of macOS UI apps using brew cask install <appname>
, Mac Apple Store apps using mas install <appnumber>
, search for them using brew search <searchterm>
& mas search <searchterm>
. Not everything is avaiable this way, but the most important ones are.
To use this make sure that these entries are near the top of your Brewfile
:
You even install many open source fonts this way. Do brew tap homebrew/cask-fonts' and Add this top the top of your
Brewfile`:
On can search for fonts once tapped by
Brew Bundletool
Finally, there is a Cask-Update tool that works with brew cask
to update all of your Mac apps.
Add this to your Brewfile
:
Then to upgrade all of you Mac apps, just do:
Cask-Update details some other features. In particular, I like brew cu pin <caskname>
which locks an app to a specific version.
Minimal Essential Bundle
My current minimal Brew on macOS is:
Best Pracices: Using with .dotfiles
I have two brewfiles currently:
Brew Repo
One in
~.private
which I install right after installing brew and before setting up my basic.ssh
and.gnupg
files so that I can use GitHub. It is the minimal essential list above. I can install this manually with a script inside.private
.My standard in
~/Brewfile
is actually a symlink to~/.dotfiles/mac/Brewfile
. I different~/.dotfiles/
for different environments.- My primary Mac is a monster MacBook Pro is really more of a 'desktop' for me. It has 64 GB RAM with an 8TB HD. It probably has my largest Brewfile.
- That being said, it actually doesn't have many development tools in it. Instead, I mostly use VMware instances (mostly macOS but some Debian) for my development images. They use a different
~.dotfiles
based Brewfile. - My smaller, older MacBook is mostly for travel. It has different set of
~/.dotfiles/
focused on just enough to work remotely. I'm always prepared to restore this Mac from scratch. - For a month or so each year, late summer early fall, my old MacBook also will run the latest beta of macOS, allowing me to test not just macOS, but also be prepared for changes to my development environments.
Advanced Topics & To Investigate
Coffee Kit
Instead of
brew cask uninstall <caskname>
you can dobrew cask zap <caskname>
which may also do additional removal of preferences, caches, updaters, etc. stored in~/Library
. See ZapA pariculary powerful feature for Brew is that it attempts to install developer tools in ways that allow them to co-exist. However if you are using multiple versions of a tool, it can be difficult to understand dependencies. These links may help:
- brew deps
brew deps --tree <brewformula>
brew deps --tree -1 <brewformula>
brew deps --include-build --tree $(brew leaves)
- brew leaves
brew leaves | xargs brew deps --include-build --tree
brew leaves | xargs brew deps --installed --for-each | sed 's/^.*:/$(tput setaf 4)&$(tput sgr0)/'
brew leaves | sed 's/^/install /' > Brewfile
- A critique of
brew leaves
andbrew graph
- brew deps
If you are a heavy Github user, or are creating brew formulae, there is an advanced wrapper for Homebrew that automates the creation of the Brewfile and can store it on Github, along with a many more features: https://homebrew-file.readthedocs.io/