if (( ! $+commands[brew] )); then if [[ -n "$BREW_LOCATION" ]]; then if [[ ! -x "$BREW_LOCATION" ]]; then echo "[oh-my-zsh] $BREW_LOCATION is not executable" return fi elif [[ -x /opt/homebrew/bin/brew ]]; then BREW_LOCATION="/opt/homebrew/bin/brew" elif [[ -x /usr/local/bin/brew ]]; then BREW_LOCATION="/usr/local/bin/brew" elif [[ -x /home/linuxbrew/.linuxbrew/bin/brew ]]; then BREW_LOCATION="/home/linuxbrew/.linuxbrew/bin/brew" elif [[ -x "$HOME/.linuxbrew/bin/brew" ]]; then BREW_LOCATION="$HOME/.linuxbrew/bin/brew" else return fi # Only add Homebrew installation to PATH, MANPATH, and INFOPATH if brew is # not already on the path, to prevent duplicate entries. This aligns with # the behavior of the brew installer.sh post-install steps. eval "$("$BREW_LOCATION" shellenv)" unset BREW_LOCATION fi if [[ -z "$HOMEBREW_PREFIX" ]]; then # Maintain compatability with potential custom user profiles, where we had # previously relied on always sourcing shellenv. OMZ plugins should not rely # on this to be defined due to out of order processing. export HOMEBREW_PREFIX="$(brew --prefix)" fi if [[ -d "$HOMEBREW_PREFIX/share/zsh/site-functions" ]]; then fpath+=("$HOMEBREW_PREFIX/share/zsh/site-functions") fi alias bcubc='brew upgrade --cask && brew cleanup' alias bcubo='brew update && brew outdated --cask' alias brewp='brew pin' alias brewsp='brew list --pinned' alias bubc='brew upgrade && brew cleanup' alias bugbc='brew upgrade --greedy && brew cleanup' alias bubo='brew update && brew outdated' alias bubu='bubo && bubc' alias bubug='bubo && bugbc' alias bfu='brew upgrade --formula' alias buz='brew uninstall --zap' function brews() { local formulae="$(brew leaves | xargs brew deps --installed --for-each)" local casks="$(brew list --cask 2>/dev/null)" local blue="$(tput setaf 4)" local bold="$(tput bold)" local off="$(tput sgr0)" echo "${blue}==>${off} ${bold}Formulae${off}" echo "${formulae}" | sed "s/^\(.*\):\(.*\)$/\1${blue}\2${off}/" echo "\n${blue}==>${off} ${bold}Casks${off}\n${casks}" }