✨ Make Homebrew install stuff
This commit is contained in:
parent
9b1196d7f7
commit
8cc3e0afd2
4 changed files with 82 additions and 13 deletions
9
git/install.sh
Executable file
9
git/install.sh
Executable file
|
@ -0,0 +1,9 @@
|
|||
#!/usr/bin/env bash
|
||||
# vim:set ft=bash:
|
||||
|
||||
cd "$(dirname "${BASH_SOURCE[0]}")" \
|
||||
&& . "../homebrew/brew_utils.sh"
|
||||
|
||||
brew_install "Git" "git"
|
||||
brew_install "Github CLI" "gh"
|
||||
brew_install "Gitmoji" "gitmoji"
|
70
homebrew/brew_utils.sh
Normal file
70
homebrew/brew_utils.sh
Normal file
|
@ -0,0 +1,70 @@
|
|||
#!/user/bin/env bash
|
||||
|
||||
cd "$(dirname "${BASH_SOURCE[0]}")" \
|
||||
&& . "../script/utils.sh"
|
||||
|
||||
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
|
||||
brew_prefix()
|
||||
{
|
||||
local path=""
|
||||
|
||||
if path="$(brew --prefix 2>/dev/null)"; then
|
||||
printf "%s" "$path"
|
||||
return 0
|
||||
else
|
||||
print_error "Homebrew (get prefix)"
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
brew_tap()
|
||||
{
|
||||
brew tap "$1" &>/dev/null
|
||||
}
|
||||
|
||||
brew_update()
|
||||
{
|
||||
execute "brew update" "Homebrew (update)"
|
||||
}
|
||||
|
||||
brew_upgrade()
|
||||
{
|
||||
execute "brew upgrade" "Homebrew (upgrade)"
|
||||
}
|
||||
|
||||
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
|
||||
brew_install()
|
||||
{
|
||||
declare -r FORMULA_READABLE_NAME="$1"
|
||||
declare -r FORMULA="$2"
|
||||
declare -r ARGUMENTS="$3"
|
||||
declare -r TAP_VALUE="$4"
|
||||
|
||||
# Check that Homebrew is installed.
|
||||
|
||||
if ! cmd_exists "brew"; then
|
||||
print_error "$FORMULA_READABLE_NAME ('Homebrew' is not installed)"
|
||||
return 1
|
||||
fi
|
||||
|
||||
# If 'brew tap' needs to be executed, check if it executed correctly.
|
||||
|
||||
if [[ -n "$TAP_VALUE" ]]; then
|
||||
if ! brew_tap "$TAP_VALUE"; then
|
||||
print_error "$FORMULA_READABLE_NAME ('brew tap $TAP_VALUE' failed)"
|
||||
return 1
|
||||
fi
|
||||
fi
|
||||
|
||||
# Install the specified formula.
|
||||
|
||||
# shellcheck disable=SC2086
|
||||
if brew list "$FORMULA" &>/dev/null; then
|
||||
print_success "$FORMULA_READABLE_NAME"
|
||||
else
|
||||
execute "brew install $FORMULA $ARGUMENTS" \
|
||||
"$FORMULA_READABLE_NAME"
|
||||
fi
|
||||
}
|
|
@ -1,11 +0,0 @@
|
|||
#!/user/bin/env bash
|
||||
# vim:set ft=bash:
|
||||
|
||||
install_once()
|
||||
{
|
||||
if brew ls --versions "$1"; then
|
||||
brew upgrade "$1"
|
||||
else
|
||||
brew install "$1"
|
||||
fi
|
||||
}
|
|
@ -1,6 +1,7 @@
|
|||
#!/usr/bin/env bash
|
||||
# vim:set ft=bash:
|
||||
|
||||
source $DOT/homebrew/install_once.sh
|
||||
cd "$(dirname "${BASH_SOURCE[0]}")" \
|
||||
&& . "../homebrew/brew_utils.sh"
|
||||
|
||||
install_once starship
|
||||
brew_install "Starship Prompt" "starship"
|
||||
|
|
Loading…
Reference in a new issue