Skip to content

Guides

Setting up Macbook Pro for Development

Posted on:January 26, 2020 at 12:00 AM
 at 5 min read

I have documented my setup for linux machines before before. However, lately I have been working a lot on my MacBook Pro. In this post, I want to document my setup for my macbook for my own future needs. I am always curious to see how other software developers are setting up their development machines so I figured it would be a good opportunity to share mine.

I am a research scientist in AI/Deep Learning and do some software development using Javascript, markdown, etc., so most of my configuration will be around programming. My current MacBook configuration is as follows:

After getting a new Machine, first thing I do is re-install the OS with case-sensitive APFS disk, since by default it comes installed on a Case-insensitive APFS disk type. This can be done by rebooting the laptop with CMD+R pressed. Once it boots, use Disk Utility to reformat disk to the case-sensitive APFS format. Then re-install the OS that the laptop came with. Once the installation has finished, we can continue with the setup as usual.

I usually configure anything I can here like Wi-fi & Apple ID. The rest of the instructions will assume you made it through the setup and are on the desktop. Do not forget to select disk encryption via FileVault during this phase of the setup.

Now, please update your OS via System Preferences.

App Store AppsSection titled App Store Apps

Here is a list of App Store Apps that I use:

Other AppsSection titled Other Apps

Here are some of the other Apps that I download directly from their websites:

Command-Line SetupSection titled Command-Line Setup

I preferably use iTerm as command line tool. One thing I like to do is customize the colors and a great resource for that is https://iterm2colorschemes.com/. In particular, I like following colorschemas:

Now, first thing I install is HomeBrew. Before you install HomeBrew though you need to install the Xcode command line utilities. Open a terminal in iTerm 2 and type:

xcode-select --install
Copied

The Command Line Tools Package is a small self-contained package available for download separately from Xcode and that allows you to do command line development in OS X.

Now, install HomeBrew:

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
Copied

Once the installation finishes, run brew help to get all commands, and run brew update to update to the latest version.

I typically use BrewFile from brew bundle to maintain all things installed via HomeBrew on different machines. You can look at my BrewFile here.

I just run following command to install all desired things via brew:

brew bundle --file ~/.config/BrewFile
Copied

You can save your current BrewFile at current directory using:

brew dump
Copied

By the above bundle, I have installed all desired programs, fonts and casks like Microsoft Word, Excel and Powerpoint.

Lastly, I make fish as my default shell and configure it. Please look at my detailed post on fish shell for this.

Few other small configurations for iTerm include:

Miscellaneous SetupSection titled Miscellaneous Setup

Following are details of my other additional configurations:

Configuring the TrackpadSection titled Configuring the Trackpad

To make the trackpad behave correctly, ensure that these settings are enabled:

git SetupSection titled git Setup

BrewFile setup above installs git. My gitconfig can be found in my dot files repo at yadm-dotfiles.

ssh SetupSection titled ssh Setup

First enable ssh server by checking System Preferences -> Sharing -> Remote Login. You can also update the system hostname here.

If you do not have already from the older machine, new ssh keys can be generated as follows:

ssh-keygen -t rsa
Copied

Also, if you have any config for connecting to different servers, you can add a $HOME/.ssh/config file.

Finally, to enable password-less login to this machine, you will need to add keys of the machines to the $HOME/.ssh/authorized_keys file. Similarly, to allow this machine to have password-less access to other machines, we will need to add the public key of this machine to the authorized_keys file of those machines. Also, do not forget to update the public key on github to have password-less access to github repositories.

dotfilesSection titled dotfiles

I use YADM to manage my dotfiles. My repo can be found at yadm-dotfiles.

Visual Studio Code SetupSection titled Visual Studio Code Setup

Install VSCode from the official website. Add the binary location path /Applications/Visual Studio Code.app/Contents/Resources/app/bin/ to the PATH. This makes code comand available from the command line.

I use Settings Sync extension to manage my VSCode settings across different machines. After installing VSCode, I just install this extension and sync it via my github gist. You can see all my settings at this gist.

This concludes our setup of MacBook Pro for development. Please do let me know, if you have some other interesting ways to setup your machine that could be useful to me and others.

COMMENTS


RELATED POSTS | Guides