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.
iTerm2
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.
Homebrew
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.
zsh
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
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:
Some of the plugins I use:
- SideBarEnhancements
- Emmet (A great time saver!)
- SublimeLinter
- ColorPicker
- BracketHighlighter
I'm using Material Theme which really prettifies it by a stretch.
Vim
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)
I use spectacle to give my work Mac the semblance of a usable window manager.
"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?
Yep, thanks!
Nice post. Will try those tools out. I can't work comfortable without FlyCut, have you tried it?