Manage all your installed software at one place with Homebrew Bundle

In software development, you often manage all your dependencies through a package manager like NPM or NuGet. When it comes to software on our operating systems, we often break with this concept and install software from all various places. Homebrew Bundle takes back control.

Manage all your installed software at one place with Homebrew Bundle

In software development, you often manage all your dependencies through a package manager like NPM or NuGet. When it comes to software on our operating systems, we often break with this concept and install software from all various places like App Stores, Websites and more. Homebrew Bundle takes back control.

If you regularly install software on your Mac or Linux machine, that does not come via the official App Stores, you might be familiar with Homebrew, a package manager for operating systems. With the Homebrew Bundle extension, we can even define a list of all installed software in a Brewfile file.

Generate a Brewfile

A good starting point is to dump all currently via Homebrew installed software into a new Brewfile file.

brew bundle dump

Within such a Brewfile, you can define a mix of application sources:

  • brew for regular Homebrew command-line apps
  • cask for desktop applications
  • mas for Apple App Store applications

Here is a (shortened) example of some my configuration.

tap "azure/functions"
tap "caskroom/cask"
tap "homebrew/bundle"
tap "homebrew/cask"
tap "homebrew/core"

# Essentials
brew "tree"
brew "gettext", link: true
brew "fzf"
brew "python", link: false
brew "yarn"
brew "node@12"

# Kubernetes
brew "kubernetes-cli"
brew "kubectx"
brew "openshift-cli"
brew "helm"
brew "minikube"

# Azure
brew "azure-cli"
brew "azure/functions/azure-functions-core-tools@3"
brew "terraform"
cask "powershell"

# Dev
cask "dotnet-sdk"

# Fun
brew "cmatrix"
cask "spotmenu"

# Security
mas "1Password", id: 443987910
Example Brewfile

Install all packages from a Brewfile

Homebrew Bundle works like every other package manager. To install the listed applications or bring them all to the latest version, you just call the following command.

brew bundle --file ~/my-folder/Brewfile

It's especially cool that you can now use that Brewfile to setup a completely new machine with just a single command. Just make sure to backup your Brewfile safely!

I have put all my configuration files like this one within a private GitHub repository for example, which allows me to have version control on the Brewfile and can restore it from anywhere in the world.


☝️ Advertisement Block: I will buy myself a pizza every time I make enough money with these ads to do so. So please feed a hungry developer and consider disabling your Ad Blocker.