diff --git a/shell/caskroom.sh b/shell/caskroom.sh index 84201a5..915a9be 100644 --- a/shell/caskroom.sh +++ b/shell/caskroom.sh @@ -2,86 +2,104 @@ # Caskroom related stuff. # -install_cask_global_packages () { - brew cask install \ - adium-beta \ - aerial \ - alfred \ - android-file-transfer \ - appcleaner \ - atom \ - audio-hijack \ - autodmg \ - bartender \ - betterzip \ - bowtie \ - calibre \ - carbon-copy-cloner \ - chicken \ - cloudup \ - daisydisk \ - deluge \ - discord \ - docker-beta \ - dropbox \ - ethereum-wallet \ - filebot \ - firefox \ - fluid \ - flux \ - github-desktop \ - gog-galaxy \ - google-cloud-sdk \ - google-chrome \ - gpgtools \ - hackety-hack \ - handbrake \ - insomnia \ - irccloud \ - istat-menus \ - istumbler \ - iterm2 \ - java \ - karabiner-elements \ - keybase \ - licecap \ - little-snitch \ - logitech-options \ - mailplane \ - makemkv \ - messenger \ - micro-snitch \ - mist \ - moom \ - mplayerx \ - omnigraffle \ - openemu \ - parallels-desktop \ - paw \ - plex-media-player \ - postman \ - resolutionator \ - ring \ - screenhero \ - sequel-pro \ - sixtyforce \ - skype \ - spotify \ - stay \ - synology-assistant \ - teamviewer \ - transmission \ - ubersicht \ - unetbootin \ - virtualbox \ - virtualc64 \ - viscosity \ - visual-studio-code \ - vlc \ - vmware-fusion \ - witgui \ - wmail \ - xld \ - yakyak \ - ynab +bootstrap_caskroom() { + local pkgs=( + adium-beta + aerial + alfred + android-file-transfer + appcleaner + atom + audio-hijack + autodmg + bartender + betterzip + bowtie + calibre + carbon-copy-cloner + chicken + cloudup + daisydisk + deluge + discord + docker-beta + dropbox + ethereum-wallet + filebot + firefox + fluid + flux + github-desktop + gog-galaxy + google-cloud-sdk + google-chrome + gpgtools + hackety-hack + handbrake + insomnia + irccloud + istat-menus + istumbler + iterm2 + java + karabiner-elements + keybase + licecap + little-snitch + logitech-options + mailplane + makemkv + messenger + micro-snitch + mist + moom + mplayerx + omnigraffle + openemu + parallels-desktop + paw + plex-media-player + postman + resolutionator + ring + screenhero + sequel-pro + sixtyforce + skype + spotify + stay + synology-assistant + teamviewer + transmission + ubersicht + unetbootin + virtualbox + virtualc64 + viscosity + visual-studio-code + vlc + vmware-fusion + witgui + wmail + xld + yakyak + ynab + ) + + local installed=( $(brew cask list) ) + + for pkg in ${pkgs[@]}; do + local base=$(echo $pkg | awk '{print $1}') + local found="" + + for i in ${installed[@]}; do + if [[ "$base" == "$i" ]]; then + found=1 + fi + done + + if [ -z "$found" ]; then + brew cask install "${pkg[@]}" + fi + done } diff --git a/shell/homebrew.sh b/shell/homebrew.sh index 64eddb4..e3452ff 100644 --- a/shell/homebrew.sh +++ b/shell/homebrew.sh @@ -2,29 +2,41 @@ # Homebrew related stuff. # -install_brew_global_packages () { - # Basic packages. - brew install \ - ack \ - android-sdk \ - bash \ - bazaar \ - git \ - heroku \ - htop \ - kubernetes-cli \ - peco \ - readline \ - reattach-to-user-namespace \ - the_silver_searcher \ - tmux \ - wget \ - zsh +bootstrap_homebrew () { + local pkgs=( + ack + "aspell --with-lang-en --with-lang-el --with-lang-sv" + bash + bazaar + git + heroku + htop + kubernetes-cli + mysql + peco + readline + reattach-to-user-namespace + redis + the_silver_searcher + tmux + wget + zsh + ) - brew install aspell --with-lang-en --with-lang-el --with-lang-sv + local installed=( $(brew list) ) - # Services. - brew install \ - mysql \ - redis + for pkg in ${pkgs[@]}; do + local base=$(echo $pkg | awk '{print $1}') + local found="" + + for i in ${installed[@]}; do + if [[ "$base" == "$i" ]]; then + found=1 + fi + done + + if [ -z "$found" ]; then + brew install "${pkg[@]}" + fi + done }