Files
dotfiles/bin/bootstrap-homebrew

78 lines
1.2 KiB
Bash
Executable File

#! /usr/bin/env bash
set -e
install_packages() {
local group="$1"
shift 1
[ -z "$INSTALLED_PACKAGES" ] && INSTALLED_PACKAGES=( $(brew list) )
echo "==> ${group} packages"
for pkg in "$@"; do
local base=$(echo $pkg | awk '{print $1}')
local found=""
for i in ${INSTALLED_PACKAGES[@]}; do
[[ "$base" == "$i" ]] && found=1
done
if [ -z "$found" ]; then
echo "--> Missing: ${base}"
brew install ${pkg[@]}
else
echo "--> Installed: ${base}"
fi
done
}
main() {
#
# Define packages
#
local core_pkgs=(
ack
"aspell --with-lang-en --with-lang-el --with-lang-sv"
bash
bazaar
ctop
dpkg
git
"global --with-ctags --with-pygments"
heroku
htop
kubernetes-cli
mysql
peco
rbenv
readline
reattach-to-user-namespace
redis
ruby-build
shellcheck
sshfs
tccutil
the_silver_searcher
tmux
wget
zsh
)
local personal_pkgs=(
"mkvtoolnix --with-qt"
)
#
# Install packages
#
install_packages "core" "${core_pkgs[@]}"
if [[ " $@ " == *" personal "* ]]; then
install_packages "personal" "${personal_pkgs[@]}"
fi
}
main $@