Homebrew is the best package manager for Mac.
The guy who wrote this didn't get hired by Google ffs... who cares about old bubble sort comp-sci bullshit. Seriously.
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"All the packages I use on Mac are stored in the DevOps-Bash-tools repo.
Core Packages - core build packages and utils needed by almost everything
Desktop Packages - long list of cool & techie packages for Mac
Desktop Casks - major GUI 3rd party apps
Desktop Taps - more 3rd party apps
brew install "$package"brew reinstall "$package"brew remove "$package"brew info "$package"List files for package:
brew ls --verbose "$package"https://docs.brew.sh/Manpage#environment
Some environment variables to take note of:
HOMEBREW_CLEANUP_MAX_AGE_DAYS- 120 by default, you might want to reduce thisHOMEBREW_DISPLAY_INSTALL_TIMES- if set, print install times for each formula at the end of the run
Some ones you might want to use in Mobile CI/CD builds:
HOMEBREW_DEBUGHOMEBREW_VERBOSEHOMEBREW_VERBOSE_USING_DOTS- prints a.no more than once a minute to avoid long-running Homebrew commands being killed due to no outputHOMEBREW_NO_COLORHOMEBREW_NO_ANALYTICS- don't send AnalyticsHOMEBREW_NO_AUTOREMOVEHOMEBREW_NO_AUTO_UPDATE(VM will be discarded at end of build anyway)HOMEBREW_NO_INSTALL_CLEANUPHOMEBREW_NO_INSTALL_UPGRADEHOMEBREW_NO_CLEANUP_FORMULAEHOMEBREW_NO_BOOTSNAP- do not use Bootsnap to speed up repeated brew callsHOMEBREW_NO_INSECURE_REDIRECT
The usual HTTP Proxy environment variables of http_proxy, https_proxy and no_proxy also work.
Fix SSL of a package:
brew_fix_openssl_dependencies.sh
Partial port from private Knowledge Base page 2013+
