Christian Genco

MacBook Developer Setup

2018 update: I keep an updated list of all the things I use (including programming tools) in my list of things.

I've been on Macs since I was 10 years old. I love them obsessively, but my needs for Mac OS X as a developer are more than the operating system comes with by default.

Over the years I've added layers and layers of tweaks and customizations to make my MacBook a coding and productivity powerhouse. Here's a list of the things I can no longer live without.

Applications #

Command Line Tools #

ZSH/bash shortcuts #

Here's a list of my handy git aliases:

export GIT_EDITOR="vim"
alias gs='git status '
alias ga='git add '
alias gap='git add -p' # patch mode
alias gb='git branch '
alias gc='git commit'
alias gd='git diff'
# alias go='git checkout ' # need this for "go" compiles
alias gh='git hist'
alias gha='git hist --all'
alias gp='git pull'
alias gpgp='git pull && git push'

And a fantastic system for marking and jumping to specific folders:

export MARKPATH=$HOME/.marks
function jump {
  cd -P $MARKPATH/$1 2>/dev/null || echo "No such mark: $1"
}
function mark {
  mkdir -p $MARKPATH; ln -s $(pwd) $MARKPATH/$1
}
function unmark {
  rm -i $MARKPATH/$1
}
function marks {
  \ls -l $MARKPATH | tail -n +2 | sed 's/  / /g' | cut -d' ' -f9- | awk -F ' -> ' '{printf "%-10s -> %s\n", $1, $2}'
}
alias j="jump"
alias m="mark"

For example, I marked my project directory for Textbooks Please with:

cd LONG/DIRECTORY/THAT/TAKES/A/LONG/TIME/TO/TYPE/textbooksplease
m tbp

And now I can jump to that directory from anywhere with:

j tbp

System Tweaks #

I hope this helps to make you as productive as possible on your Mac!

If you're more command line inclined, I recommend this 2012 article about using tmux, vim, and zsh together.

If you enjoyed this list, check out this [similar compilation of developer tools by hacker Samy Kamkar(http://samy.pl/tools). Samy's website also has some neat stuff.