Setting up a new MacMar 8, 2021Developer Experience 469 words
Setting up a new Mac
Photo by Austin Poon on Unsplash
Table Of Contents

Intro

I got a new job! Which means, getting a new machine. And the inner geek in me is always excited whenever I get new tech. So this time around, I am upgrading from a Dell Inspirion to a MacBook Pro.

Although I had my fair share of issues with Windows machines, ranging from incompatible drivers, UAC issues when installing softwares, limited control using a terminal etc. I do like the operating system and the features it provides. But being a Mac user for close to a decade now, I really can’t make myself use Windows for development work. If given a choice, I’d always pick a Mac or a Linux machine.

Setting things up

Setting up a new laptop is almost always a day’s worth of effort. From making sure that the OS is upto date with latest security fixes, to installing development tools, it’s a long process, but a rewarding one if done correctly.

These are the usual checklist I follow before starting:

  • Make sure the software is upto date. Just a plain system update to update the machine to the latest stable software.
  • Internet. This is an important one. No one likes likes to be offline when an update is in progress

My list of softwares are split into multiple categories:

  • Development Tools
  • Desgin Tools
  • Misc Tools
  • Configurations

Development Tools

These are the most common tools I use for Development

  • VSCode - Default Editor for all the projects
  • WebStorm - IDE when working on a single project
  • iTerm - Because the default terminal is…too simple
  • Docker - Virtualize everything
  • Postman/Insomnia - Gotta test the APIs

I use VSCode for small projects, or when I want to clone and test and PR locally. For actual work projects, I prefer using a full-fledged IDE, Webstorm.

Design Tools

  • Sketch
  • Adobe XD
  • Draw.IO

I am not a graphic designer. I can make mockups and layout designs, but nothing beyond that. So the above softwares are more than capable for my design needs. Normally, I just create a rough draft of a layout on my Tablet, create a sample design using Sketch or XD, and just start coding the layout.

Misc Tools

  • Spotify - Because coding without Music is a crime.
  • Caffine - To keep the laptop awake
  • Pastebot - Mac lacks a Windows style multi-clipboard manager
  • Rectangle - For the sweet multi-window management
  • Gas Mask - Makes managing host files easier
  • Git - Like, do you even version bro?

Configurations

  • Disable Spotlight search. Like really, I know where my files are and I don’t need Spotlight to index every single file in node modules for me.
  • Setup alias for terminal
  • ZSH as default shell
  • Oh-My-ZSH for those sweet plugins

This covers most of the setup which I usually do. I might edit this article in the future if something changes, but this is it for now!

Until next time! ✌🏽

Read next
The Build Series: E3 — Micro-Frontends are Awesome!
The Build Series: E3 — Micro-Frontends are Awesome!In this episode of The Build Series, We'll explore some Micro-Frontend design patterns for web applications and build one using React.
The Build Series: E4 — Deploying Apps to Firebase Hosting
The Build Series: E4 — Deploying Apps to Firebase HostingIn this episode of The Build Series, we'll deploy a Gatsby Site to Firebase and take advantage of that sweet free hosting