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.
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 dumpWithin such a Brewfile, you can define a mix of application sources:
brewfor regular Homebrew command-line appscaskfor desktop applicationsmasfor 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: 443987910Install 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/BrewfileIt'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.