Files
dotfiles/bin/bootstrap-caskroom

171 lines
2.5 KiB
Bash
Executable File

#! /usr/bin/env bash
set -e
install_packages() {
local group="$1"
shift 1
[ -z "$INSTALLED_PACKAGES" ] && INSTALLED_PACKAGES=( $(brew cask list) )
echo "==> ${group} packages"
for pkg in "$@"; do
local base=$(echo $pkg | awk '{print $1}')
[[ "$base" == *\/* ]] && base=$(basename "$base")
local found=""
for i in ${INSTALLED_PACKAGES[@]}; do
[[ "$base" == "$i" ]] && found=1
done
if [ -z "$found" ]; then
echo " -> Missing: ${base}"
brew cask install ${pkg[@]}
else
echo " -> Installed: ${base}"
fi
done
}
main() {
#
# Define packages
#
local core_pkgs=(
1password
aerial
alfred
appcleaner
bartender
betterzip
betterzipql
emacs
firefox
fluid
flux
google-chrome
gpg-suite
hammerspoon
iina
istat-menus
istumbler
iterm2
karabiner-elements
keybase
logitech-gaming-software
logitech-options
mplayerx
osxfuse
qlcolorcode
qlimagesize
qlmarkdown
qlprettypatch
qlstephen
qlvideo
quicklook-csv
quicklook-json
quicklookapk
resolutionator
skyfonts
stay
suspicious-package
ubersicht
vlc
vnc-viewer
wavebox
webpquicklook
)
local work_pkgs=(
atom
bbedit
chicken
cyberduck
dash
docker-edge
github-desktop
google-cloud-sdk
hipchat
insomnia
java
kaleidoscope
licecap
medis
minikube
minishift
paw
postico
postman
robomongo
rowanj-gitx
sequel-pro
slack
vagrant
virtualbox
visual-studio-code
)
local personal_pkgs=(
4k-video-downloader
adium-beta
android-file-transfer
audio-hijack
autodmg
bowtie
calibre
daisydisk
deluge
discord
dropbox
ethereum-wallet
filebot
gog-galaxy
hackety-hack
handbrake
irccloud
little-snitch
makemkv
messenger
micro-snitch
mist
omnigraffle
openemu
parallels-desktop
peakhour
plex-media-player
rclone-browser
ring
screenhero
sixtyforce
skype
spotify
teamviewer
transmission
unetbootin
virtualc64
viscosity
vmware-fusion
witgui
xld
yakyak
)
#
# Install packages
#
install_packages "core" "${core_pkgs[@]}"
if [[ " $* " == *" work "* ]]; then
install_packages "work" "${work_pkgs[@]}"
fi
if [[ " $* " == *" personal "* ]]; then
install_packages "personal" "${personal_pkgs[@]}"
fi
}
main "$@"