#!/bin/bash # Description: Package manager - Homebrew on OSX, Linuxbrew on Linux set -e function _brew { local pkg=$1 if ! brew ls $pkg >/dev/null 2>&1; then _run "[brew] Install $pkg" brew install $@ else echo "[brew] $pkg is already installed, skipping." fi } function _brew_cask { local pkg=$1 if ! brew cask list $pkg >/dev/null 2>&1; then _run "[brew cask] Install $pkg" brew install --cask $@ else echo "[brew cask] $pkg is already installed, skipping." fi } function _brew_tap { local tap=$1 if ! brew tap | grep "^$tap$" >/dev/null 2>&1; then _run "[brew tap] Tap repository $tap" brew tap $@ else echo "[brew tap] $tap is already present, skipping." fi } case $_PLATFORM in darwin) if ! which brew >/dev/null; then _run "Install brew" /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" fi ;; arch) _recipe _arch _yay brew-git ;; debian) _recipe _apt _recipe _path for pkg in build-essential curl file gawk git python-setuptools; do _apt $pkg done if ! [ -d ~/.linuxbrew ]; then _run "Install brew" git clone -q https://github.com/Linuxbrew/brew.git ~/.linuxbrew fi _path "$HOME/.linuxbrew/bin:$HOME/.linuxbrew/sbin" ;; esac