Skip to content

Instantly share code, notes, and snippets.

@theclue theclue/mac.setup.sh
Last active Oct 23, 2018

Embed
What would you like to do?
My High Sierra Macintosh DevBox
# Ask for the administrator password upfront.
sudo -v
# Keep-alive: update existing `sudo` time stamp until the script has finished.
while true; do sudo -n true; sleep 60; kill -0 "$$" || exit; done 2>/dev/null &
# XCode CLT
xcode-select --install
# Check for Homebrew,
# Install if we don't have it
if test ! $(which brew); then
echo "Installing homebrew..."
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
fi
# Install Cask
brew install cask
# Make sure we’re using the latest Homebrew.
brew update
# Check for broken dependencies and/or outdated packages
brew doctor
brew prune
# Upgrade any already-installed formulae.
brew upgrade --all
# Install GNU core utilities (those that come with OS X are outdated).
# Don’t forget to add `$(brew --prefix coreutils)/libexec/gnubin` to `$PATH`.
brew install coreutils
sudo ln -s /usr/local/bin/gsha256sum /usr/local/bin/sha256sum
# Essential utils
brew install gnutls moreutils
# Essential libraries
brew install gmp jpeg libsvg mpfr readline icu4c libxslt
brew install fontconfig libmpc libtiff webp libyaml pcre pcre2 freetype glib isl libtool little-cms2
brew install pixman arpack openblas gd gdk-pixbuf libcroco libwmf librsvg xz libmetalink cmake gsl
# Java (UPDATE: in OpenJDK flavour)
brew cask install --appdir="~/Applications" java
# X
brew cask install --appdir="~/Applications" xquartz
# PKG & Dev essentials
brew install maven emacs node tcl-tk perl go pkg-config cmake
# Compression utilities
brew install p7zip
# Network Related
brew install adns
brew install wget --with-libmetalink --with-pcre
brew install curl --with-libmetalink
brew install lynx
brew install ssh-copy-id
# Getting Data from various sources
brew install freexl
brew install e2fsprogs
brew install csv-fix
# Git and related
brew install git -with-gettext --with-perl
brew install git-lfs
brew install git-flow
brew install git-extras
brew install hub
git lfs install
sudo -u root git lfs install --system
# Ruby
brew install ruby ruby-build
brew install rbenv
LINE='eval "$(rbenv init -)"'
grep -q "$LINE" ~/.extra || echo "$LINE" >> ~/.extra
gem install bundler
gem install nokogiri -- --with-xslt-dir=/usr/local/opt/libxslt
gem install jekyll github-pages
# Python
wget https://bootstrap.pypa.io/get-pip.py
sudo -H python get-pip.py
rm get-pip.py
pip install --upgrade pip setuptools
pip install lxml
pip install pelican
pip install markdown
echo /usr/local/opt/libxslt/lib/python2.7/site-packages >> /usr/local/lib/python2.7/site-packages/libxslt.pth
mkdir -p $HOME/Library/Python/2.7/lib/python/site-packages
echo 'import site; site.addsitedir("/usr/local/lib/python2.7/site-packages")' >> $HOME/Library/Python/2.7/lib/python/site-packages/homebrew.pth
export PYTHONPATH=/usr/local/lib/python:/Applications/Inkscape.app/Contents/Resources/share/inkscape/extensions:$PYTHONPATH
# R
brew install r --with-java
sudo Rscript -e 'install.packages("devtools")';
# Docker
brew install docker docker-compose docker-machine xhyve docker-machine-driver-xhyve
sudo chown root:wheel $(brew --prefix)/opt/docker-machine-driver-xhyve/bin/docker-machine-driver-xhyve
sudo chmod u+s $(brew --prefix)/opt/docker-machine-driver-xhyve/bin/docker-machine-driver-xhyv
brew services start docker-machine
# Install font tools
brew tap bramstein/webfonttools
brew install sfnt2woff
brew install sfnt2woff-zopfli
brew install woff2
# Publishing and graphics
brew install libsvg-cairo
brew install svg2pdf ghostscript pandoc
brew install imagemagick --with-pango --with-x11 --with-libwmf --with-fontconfig --with-librsvg --with-perl
# Other media
brew install youtube-dl lame ffmpeg x264 xvid
# Updating bash profile
echo 'export PATH="/usr/local/opt/icu4c/bin:/usr/local/opt/sqlite/bin:/usr/local/opt/go/libexec/bin:$PATH"' >> ~/.bash_profile
echo 'export PATH="/usr/local/opt/icu4c/sbin:$PATH"' >> ~/.bash_profile
echo 'export PATH="$(brew --prefix coreutils)/libexec/gnubin;$PATH"' >> ~/.bash_profile
echo 'export PERL5LIB="/usr/local/lib/perl5/site_perl":$PERL5LIB' >> ~/.bash_profile
# Core casks
brew cask install --appdir="/Applications" atom
brew cask install --appdir="/Applications" macdown
brew cask install --appdir="/Applications" github
brew cask install --appdir="/Applications" inkscape
brew cask install --appdir="/Applications" mactex
brew cask install --appdir="/Applications" safeincloud-password-manager
brew cask install --appdir="/Applications" rstudio
brew cask install --appdir="/Applications" android-studio
brew cask install --appdir="/Applications" android-file-transfer
brew cask install --appdir="/Applications" opera
brew cask install --appdir="/Applications" calibre
brew cask install --appdir="/Applications" tableau
brew cask install --appdir="/Applications" colloquy
brew cask install --appdir="/Applications" google-cloud-sdk
source '/usr/local/Caskroom/google-cloud-sdk/latest/google-cloud-sdk/path.bash.inc'
source '/usr/local/Caskroom/google-cloud-sdk/latest/google-cloud-sdk/completion.bash.inc'
# Google Cloud additional components
gcloud components install kubectl
brew install kubernetes-helm
brew cask install --appdir="/Applications" slack
brew cask install --appdir="/Applications" gephi
brew cask install --appdir="/Applications" sublime-text
brew cask install --appdir="/Applications" virtualbox --verbose --debug
# VBOX Guest Additions
vbox_full_version=$(brew cask info virtualbox | head -1 | cut -d' ' -f2);
vbox_short_version=${vbox_full_version/,*};
wget http://download.virtualbox.org/virtualbox/${vbox_short_version}/Oracle_VM_VirtualBox_Extension_Pack-${vbox_short_version}.vbox-extpack;
sudo VBoxManage extpack install --replace Oracle_VM_VirtualBox_Extension_Pack-${vbox_short_version}.vbox-extpack;
rm *.vbox-extpack;
# Adobe Creative Cloud - EXPERIMENTAL
# brew cask install adobe-creative-cloud
# Install developer friendly quick look plugins; see https://github.com/sindresorhus/quick-look-plugins
brew cask install qlcolorcode qlstephen qlmarkdown quicklook-json qlprettypatch quicklook-csv qlimagesize webpquicklook suspicious-package
# Remove outdated versions from the cellar.
brew cleanup
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.