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.
- Appearance
- WebStorm
- Xcode & Command Line Tools
- Git & GitHub
- Homebrew
- Node.js and io.js Environment
- NVM
- Electron
- Database & Stores
- Tools
- Applications
- Other Installation Tracks
The best fonts to code:
- Menlo (OS X built-in)
- Mensch coding font
- Download WebStorm by using second link "Get WebStorm 10 with JDK 1.8" and install it.
- Twilight 2 Theme
- GitHub Markdown Plugin
- Download XCode 7.0 Beta or latest. Install it.
- Then open
Xcode > Preferences > Downloads > Command Line Tools
or execute in Terminal:
sudo xcode-select --install
- Select
Xcode > Preferences > Locations > Command Line Tools
(to avoidld: library not found for -lgcc_s.10.5
error in working withnpm
).
git config --global user.name "Denis Izmaylov"
git config --global user.email "example@izmy.lv"
There is 2 ways to configure keys. The first is:
- Create new key:
ssh-keygen -t rsa -C "example@izmy.lv"
- Copy public key:
$ pbcopy < ~/.ssh/id_rsa.pub
- Add it to
github.com
The second way was just to backup your ~/.ssh
before re-install and restore it now. Be aware - private keys should have 0400
access.
ssh -T git@github.com
$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
$ sudo chown -R $(whoami) /usr/local
$ brew update
$ brew doctor -d
First, pull the latest version of brew by running:
$ brew update && brew upgrade
Then, we install nvm:
$ brew install nvm
Finally, we need to add the following line to our .profile, .bashrc or .zshrc, to be able to run nvm from the command line:
$ echo "source $(brew --prefix nvm)/nvm.sh" >> ~/.zshrc
To test, run below:
$ nvm --version
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.
- To install Node.js:
brew install node
- To install io.js:
brew install iojs
to prevent node-gyp errors (fsevents/fsevents#49)
npm install -g node-gyp-install
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
or
$ redis-server /usr/local/etc/redis.conf
- To have launchd start redis at login:
mkdir -p ~/Library/LaunchAgents
ln -sfv /usr/local/opt/redis/*.plist ~/Library/LaunchAgents
- Test:
redis-cli
- Try to install with Homebrew:
brew install mongodb
- If you could not install with Homebrew try to do it manually:
curl -O https://fastdl.mongodb.org/osx/mongodb-osx-x86_64-3.0.4.tgz
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
Just install:
brew install mc
And start:
mc
- Communication:
- 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.
- by Max mykhailenko
- by noon-ehos
- by saetia