DEV Community

Cover image for My Development Setup on a Macbook
Karan Sharma
Karan Sharma

Posted on • Updated on

My Development Setup on a Macbook

I recently purchased a new 13" Macbook Pro 2015(after Apple's brilliant keynote) and quite like it so far. This is my first experience with macOS. After using strictly GNU/Linux distros for about 4 years(Fedora, Ubuntu, Mint, Arch, Elementary OS) I finally decided to take the plunge and use macOS. The battery life, excellent keyboard and trackpad, a beautiful display makes coding on it a really enjoyable experience. Something that I was surely missing on my bulky HP Pavilion G6.


Before starting off with my development setup, I would say there are a plenty of such blog-posts and guides available to make your machine the #ultimatedevmachine. The aim of this post is not that but just to share some of the tools I believe make your macOS experience more complete. I personally followed this as the holy grail but I'll break it down for you to include only the most relevant things that a generalist developer can install on her laptop and also not make it bloated.


As developers spend most of the time tinkering with stuff on terminals, the first thing that you should do is to replace macOS default terminal with iTerm2. It has a lot of great features, about which you can read more here.
I'm using Solarized Dark theme which can be easily downloaded over here. Apart from this, there are several other customisations which I simply took from this guide.
Beautiful terminal experience with iTerm2


It's the essential package manager every developer should be using. It makes installing other packages very convenient by downloading latest stable release, creating a symlink to /usr/local and some really cool features like installing directly from a PR. You can read more about such features here. As a learning exercise for myself, I am going to try my hands on creating a formula for coala.


No discussion of the terminal should ever be complete without mentioning zsh even once IMHO. I've been using zsh for 2 years and there's just no going back to old school bash. I've got so accustomed to zsh that it feels almost impossible to work on bash anymore. You can install zsh by
brew install zsh
zsh being brewed

I also use Prezto along with zsh rather than the popular Oh My Zsh! because it's darn slow after a couple of plugins. You can follow the installation details present in the official documentation here.
To change default theme you need to edit the following line in ~./zpreztorc

zstyle ‘:prezto:module:prompt' theme ‘powerline'

with the theme name. You can find out all theme names using

prompt -l

You can find a comprehensive list of all things zsh over here.

Sublime Text

As a developer you'll also spend a hefty time with editors as they are the place where magic happens. I have setup my Sublime Text to maximize my productivity while coding. I use the following plugins, but first in order to install any one of them you need to install Package Control which is the package manager for Sublime Text.
After you have setup Package Control, you can verify that it should look like:

⌘+shift+ P

Some of the plugins I use:

I'm using Material Theme which really prettifies it by a stretch.
Material Theme on Sublime Text


I'm learning to use more and more Vim these days so I'll keep this section as a TBA and will update soon.

macOS Apps

These are some of the apps that I believe should come preinstalled in any macOS.

  • Alfred
  • InsomniaX
  • CleanmyMac3
  • Omnifocus
  • Ulysses
  • Android File Transfer
  • Cheatsheetapp
  • iStatMenus

So far I'm really happy with it but will keep adding tools or plugins that I find on the go. I am still in the honeymoon phase with my Mac so if you think I did an injustice to this post by not including your favourite tool, tweet it out to me and I'll definitely check it out.
Till then, Happy Coding!

This article was originally posted on my blog over here

Top comments (4)

moopet profile image
Ben Sinclair

I use spectacle to give my work Mac the semblance of a usable window manager.

edo9k profile image
Eduardo França

"I’ve got so accustomed to bash that it feels almost impossible to work on bash anymore."

You probably meant to change one of the bash occurrences to zsh, right?

mrkaran profile image
Karan Sharma

Yep, thanks!

agusarias__ profile image
Agus Arias

Nice post. Will try those tools out. I can't work comfortable without FlyCut, have you tried it?