Skip to content

Instantly share code, notes, and snippets.

What would you like to do?
OS X 10.11 El Capitan: fresh install with Node.js (io.js) Developer Environment

OS X 10.11 (El Capitan) / Node.js and io.js Developer Environment

Custom recipe to get OS X 10.11 El Capitan running from scratch with useful applications and Node.js Developer environment. I use this gist to keep track of the important software and steps required to have a functioning system after fresh install.



The best fonts to code:


XCode & Command Line Tools

  • Download XCode 7.0 Beta or latest. Install it.
  • Then open Xcode > Preferences > Downloads > Command Line Tools or execute in Terminal:
xcode-select --install
  • Select Xcode > Preferences > Locations > Command Line Tools (to avoid ld: library not found for -lgcc_s.10.5 error in working with npm).



git config --global "Denis Izmaylov"
git config --global ""

Configure GitHub

There is 2 ways to configure keys. The first is:

  • Create new key:
ssh-keygen -t rsa -C ""
  • Copy public key:
cat ~/.ssh/
  • Add it to

The second way was just to backup your ~/.ssh before re-install and restore it now. Be aware - private keys should have 0400 access.

Test connection

ssh -T


ruby -e "$(curl -fsSL"

Node.js and io.js Environment

If you are not sure which platform to use Node.js or io.js - see compatibility table. The good reason to choice io.js is React Native.

brew install node
brew install iojs
## to prevent node-gyp errors (
sudo npm install -g node-gyp-install
  • Install development tools:
npm install gulp eslint webpack node-inspector -g
  • To get installed Phantom.js and use it:
npm install phantom phantomjs -g


Build cross platform desktop apps with web technologies. Formerly known as Atom Shell.

npm install electron-prebuilt -g



  • Install
brew install redis
  • Launch:
launchctl load /usr/local/opt/redis/homebrew.mxcl.redis.plist
  • To have launchd start redis at login:
mkdir -p ~/Library/LaunchAgents
ln -sfv /usr/local/opt/redis/*.plist ~/Library/LaunchAgents
  • Test:


  • Try to install with Homebrew:
brew install mongodb
  • If you could not install with Homebrew try to do it manually:
curl -O
tar -zxvf mongodb-osx-x86_64-3.0.4.tgz
mv mongodb-osx-x86_64-3.0.4/ /usr/local/opt/mongodb
export PATH=/usr/local/opt/mongodb/bin:$PATH
echo export PATH=/usr/local/opt/mongodb/bin:\$PATH>~/.bash_profile
chmod +x ~/.bash_profile
mkdir -p ~/data/mongodb
  • Then execute in Terminal:
sudo mongod --dbpath=$HOME/data/mongodb 


  • Install:
brew install postgres
  • Launch:
launchctl load /usr/local/opt/postgresql/homebrew.mxcl.postgresql.plist
  • To have launchd start postgres at login:
mkdir -p ~/Library/LaunchAgents
ln -sfv /usr/local/opt/postgresql/*.plist ~/Library/LaunchAgents


One of easiest ways to install apps is using Cask. So let's install it before:

brew install caskroom/cask/brew-cask

Now we can install tools by single command. Let's use it.


Open-source QuickLook plugin to generate thumbnails and previews for WebP images. Requires Mac OS X 10.7 or later.

brew cask install webpquicklook

Midnight Commander

Just install:

brew install mc

And start:



  • Communication:
    • Skype
      • Use ~/Library/Application Support/Skype directory to create/restore your chat history backup
      • Disable sound notifications (Skype > Preferences > Notifications)
    • Telegram
    • Gitter
    • Slack
  • Twitter to stay turned with the best developers.
  • Productive:
    • Activity Timer provides a plain and smoothly integrated timer for your OS X status bar. Choose between time presets (3, 5, 25 or 30 minutes or custom defined intevals) which proved to be perfect intervals for all kind of activities.
  • RescueTime helps you understand your daily habits so you can focus and be more productive. Runs securely in the background. Tracks time spent on applications and websites, giving you an accurate picture of your day.
  • Wakatime Quantify your coding. Metrics and insights about your programming using open source text editor plugins.

Other Installation Tracks

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment