dotfiles/homebrew/brew.sh

74 lines
1.9 KiB
Bash
Raw Normal View History

#!/usr/bin/env sh
2024-01-22 20:36:34 -08:00
. "$DOT/script/utils.sh"
2024-01-22 20:36:34 -08:00
################################################################################
# Install #
################################################################################
2024-02-03 12:05:02 -08:00
install() {
if test ! "$(which brew)"; then
2024-01-22 20:36:34 -08:00
NONINTERACTIVE=1 \
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" \
>/dev/null 2>&1
2024-02-03 12:05:02 -08:00
2024-01-22 20:36:34 -08:00
print_result $? "Install"
fi
}
################################################################################
# Add to Path #
################################################################################
2024-02-03 12:05:02 -08:00
add_to_path() {
if command -v brew >/dev/null 2>&1; then
2024-01-22 20:36:34 -08:00
return
fi
HARDWARE="$(uname -m)"
prefix=""
if [ "$(uname)" = "Linux" ]; then
2024-01-22 20:36:34 -08:00
prefix="/home/linuxbrew/.linuxbrew"
elif [ "$HARDWARE" = "arm64" ]; then
2024-01-22 20:36:34 -08:00
prefix="/opt/homebrew"
elif [ "$HARDWARE" = "x86_64" ]; then
2024-01-22 20:36:34 -08:00
prefix="/usr/local"
else
print_error "Homebrew is only supported on macOS Intel/ARM or Linux!"
fi
PATH="$prefix/bin:$PATH"
command -v brew >/dev/null 2>&1
2024-01-22 20:36:34 -08:00
print_result $? "Add to PATH"
}
################################################################################
# Update & Upgrade #
################################################################################
2024-02-03 12:05:02 -08:00
update() {
2024-01-22 20:36:34 -08:00
execute "brew update" "Update"
}
2024-02-03 12:05:02 -08:00
upgrade() {
2024-01-22 20:36:34 -08:00
execute "brew upgrade" "Upgrade"
}
################################################################################
# Main #
################################################################################
2024-02-03 12:05:02 -08:00
main() {
2024-01-22 20:36:34 -08:00
print_title "Homebrew"
2024-02-03 12:05:02 -08:00
2024-01-22 20:36:34 -08:00
install
add_to_path
update
upgrade
}
main