Configuring all the things

The following is an evolving document to help me setup a Mac with all the tools I like to use. I hope that you find some use for it as well.


Download Manually

  • 1Password
  • Bartender
  • BusyCal
  • BusyContacts
  • Byword
  • Calibre
  • CoderRunner
  • Drafts
  • Google Chrome
  • HueMenu
  • iTerm
  • LaunchBar
  • Little Snitch
  • MacDown
  • Marked
  • MindNode
  • Napkin
  • Paw
  • Pixelmator
  • Setapp
  • Sketch
  • Slack
  • Soulver
  • Spillo
  • Sublime Text
  • Tower
  • Tweetbot
  • Ulysses
  • Virtualbox
  • VLC
  • Xcode

Mac App Store

  • Airmail

Setapp Apps

  • 2Do
  • Bartender
  • BusyCal
  • CodeRunner
  • ForkLift
  • Marked
  • Mosaic
  • Paw
  • TablePlus
  • Ulysses

Command Line

Shell Environment

  1. Install Homebrew
  2. Setup ssh keys and add to GitHub
  3. Install fish shell with brew install fish and follow instructions in output to add as default shell
  4. Install oh-my-fish
  5. Install Fisher
  6. Install the omf sushi theme
  7. Install wget with brew install wget


  1. Install nvm brew install nvm
  2. Fish plugins fisher add FabioAntunes/fish-nvm and fisher add edc/bass
  3. Install gulp with npm install gulp-cli -g and npm install gulp -D
  4. Install Express Gateway with npm install -g express-gateway

Serverless / AWS

  1. Install AWS CLI with brew install awscli and configure with aws configure
  2. Install Serverless with npm install -g serverless
  3. Install AWS SAM with brew tap aws/tap and brew install aws-sam-cli


  1. Install Virtualbox
  2. Install Vagrant
  3. Install Vagrant AWS Provider with vagrant plugin install vagrant-aws
  4. Install Vagrant Hostsupdater with vagrant plugin install vagrant-hostsupdater
  5. Install Vagrant Bindfs with vagrant plugin install vagrant-bindfs
  6. Install Vagrant Docker Compose with vagrant plugin install vagrant-docker-compose
  7. Install Vagrant Vbguest with vagrant plugin install vagrant-vbguest
  8. Install Vagrant Alpine with vagrant plugin install vagrant-alpine


  1. Install pyenv with brew install pyenv
  2. Add pyenv to fish with fisher add fisherman/pyenv
  3. Install zlib with brew install zlib
  4. Run brew info zlib and run the commands under For compilers to find zlib you may need to set:
  5. Install python pyenv install 3.7.2 and set as global version pyenv global 3.7.2


  1. Install rbenv with brew install rbenv
  2. Run rbenv init and follow the instructions
  3. Find the latest ruby version rbenv install -l and install with rbenv install 2.6.2 where 2.6.2 is the latest version
  4. Install Jekyll with gem install bundler jekyll


  1. Install PHPBrew dependencies:
brew install automake autoconf curl pcre bison re2c mhash libtool icu4c gettext jpeg openssl libxml2 mcrypt gmp libevent
brew link icu4c
brew link --force openssl
brew link --force libxml2
brew install libedit gd lcov gcc bzip2 iconv
  1. Install PHPBrew with:
curl -L -O
chmod +x phpbrew
  1. Move phpbrew to somewhere that can be found by your $PATH sudo mv phpbrew /usr/local/bin/phpbrew

  2. Init phpbrew with phpbrew init and then follow the instructions
  3. Lookup the known versions with phpbrew known
  4. Install your chosen version with the following shell script:

echo "brewing $1"

phpbrew install --jobs=$(sysctl -n hw.ncpu) $1 \
    +default \
    +mysql \
    +iconv=$(brew --prefix libiconv) \
    +bz2=$(brew --prefix bzip2) \
    +zlib=$(brew --prefix zlib)
  1. Call it with sh 7.1.17 then switch to the version with phpbrew switch php-7.1.17
  2. Install composer with the instructions from and move to somewhere in $PATH with mv composer.phar /usr/local/bin/composer
  3. Install PHP CS Fixer with wget -O php-cs-fixer then sudo chmod a+x php-cs-fixer then sudo mv php-cs-fixer /usr/local/bin/php-cs-fixer


  1. Install the Java cask with brew cask install java
  2. Install Maven with brew install maven


  1. Install eslint with npm install -g eslint
  2. Install yamllint with pip install yamllint

Sublime Text Setup

Install Package Control

cd ~/Library/Application\ Support/Sublime\ Text\ 3/Packages/

Sync the User directory via git