I’ve been an Ubuntu user for 4 years now. Since I started working at Upsync 3 months ago, I’ve found myself a very lonely desktop Linux user. Also, since this job is my first heavy-duty exposure to back-end web development, I’ve found myself a very confused desktop Linux user.

While there are many tools for working on a website backend available in Ubuntu, few are as shiny as those available in OSX (Charles Proxy, usable in Chrome. I want that. I want it hard.). Also, want to do any iOS work? (you know I do)—then you must have a mac.

On the flip side there is my natural inclination to be a bit of a contrarian and principles and such…

…but it’s so shiny!

I’ve caved. I’m a sell-out. I’m not the cool hardcore ideologue I once believed myself to be. You know those hypothetical, which-side-of-history-would-you-be-on-type, questions? Well, I can now safely say that I would not have been in the French Resistance.

I’m typing this on the beautiful back-lit keyboard of a brand-new, core-i7-having, 8GB-RAM-possesing, 256GB-SSD-not-spinning monster that is a 13″ MacBook Air.

I thought this was supposed to be easy

The first thing I did was get iTerm 2 up and running and then install Homebrew. After removing the dumb “Natural” scrolling and using PCKeyboard hack to remap some keys, I’m working exactly as I was before. I really can’t tell a difference. Which is a little anti-climactic for a computer that cost as much as my first car (oh, how I miss that purple Taurus!).

It was really easy to get everything set up as it was before, except…Vim…my clipboard…Tmux…they didn’t work together and that was CRIPPLING! Seriously, I depend on those things working together.

This post is written as a little reminder to myself of how I got it all up and running again.

The process

  1. Install Homebrew:
    Instructions are available on Github but really all it boils down to is: ruby -e “$(curl -fsSL https://raw.github.com/mxcl/homebrew/go)”

  2. Install MacVim:
    And make sure it overrides the system default Vim, which is pre-7.3 Vim and sucks (or it was last week when my MacBook got here) use: brew install macvim –override-system-vim

  3. Install Tmux:
    Easy peesy lemon squeezy: brew install tmux

  4. Thank the good, sweet lord for Paul Hinze:
    Install Paul’s reattach-to-user-namespace hack via homebrew: brew install reattach-to-user-namespace –wrap-pbcopy-and-pbpaste

  5. Append your ~/.tmux.conf file:
    With this lovely gem: set-option -g default-command “reattach-to-user-namespace -l zsh” or you can use bash, I guess, I don’t know because I use ZSH. That should be a step somewhere…chsh -s /bin/zsh. Done.

Now if only OSX Mountain Lion possessed the awesome power of moving windows between workspaces using keyboard shortcuts. Someday… someday.