dotfiles/homebrew/brew.sh

79 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 #
################################################################################
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-01-22 20:36:34 -08:00
print_result $? "Install"
fi
}
################################################################################
# Add to Path #
################################################################################
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 #
################################################################################
update()
{
execute "brew update" "Update"
}
upgrade()
{
execute "brew upgrade" "Upgrade"
}
################################################################################
# Main #
################################################################################
main()
{
print_title "Homebrew"
install
add_to_path
update
upgrade
}
main