Setting Up My Mac Dev Environment

No Comments
Set up a package manager: Homebrew

Istall iterm2


Replace bash with zsh (it offers some nice plugins and themes).

brew install zsh zsh-completions

Install oh-my-zsh – “A delightful community-driven (with 1,000+ contributors) framework for managing your zsh configuration.”

sh -c "$(curl -fsSL"

To update oh-my-zsh, run upgrade_oh_my_zsh in zsh shell.

Pick your set of plugins (edit .zshrc file):
plugins=(git brew gem ruby rvm rails yarn npm)

Pick a theme (.zshrc):

If you're on OSX Sierra, then you need another step:
create ~/.ssh/config with this content:
Host *
  UseKeychain yes
  AddKeysToAgent yes
  IdentityFile ~/.ssh/id_rsa

Generate github SSH Keys –

Add generated ssh key to your keychain, so you don’t have to reenter your ssh passphrase:

 ssh-add -K ~/.ssh/id_rsa 


If using rvm with zsh, add this to your .zshrc:

[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm"

If you use rbenv, you may need to add this to your .zshrc:

export PATH="$HOME/.rbenv/shims :$PATH"
eval "$(rbenv init -)"


For exercism zsh completions, add

if [ -f ~/.config/exercism/exercism_completion.zsh ]; then
. ~/.config/exercism/exercism_completion.zsh

And run

$ mkdir -p ~/.config/exercism/
$ curl > ~/.config/exercism/exercism_completion.zsh

git standup


brew install git-standup

fzf is a general-purpose command-line fuzzy finder

brew install fzf
# Install shell extensions

autojump – a faster way to navigate your filesystem

brew install autojump

# add autoload to .zshrc
[[ -s $(brew --prefix)/etc/profile.d/ ]] && . $(brew --prefix)/etc/profile.d/

fkill – Fabulously kill processes

npm install --global fkill-cli
npm install --global alfred-fkill

Mac apps

Git alias (add to .gitconfig)

Show recent branches:
recent = “for-each-ref –sort=-committerdate –count=10 –format=’%(refname:short)’ refs/heads/”


Install Anaconda –

Update your .bashrc or .zshrc with

export PATH="$HOME/anaconda3/bin:$PATH"

Categories: Development Setup, git

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.