Mac Setup For Developers [2024]

Murtuzaali Surti
Murtuzaali Surti

• 5 min read

mac

guide

sde

setup

Updated On

Setting up a new Mac for development can be a daunting task, especially if you are new to MacOS or don't know where to start. In this guide, I'll tell you about some tools, apps and tips which are essential for a decent developer experience on a Mac.

To keep it simple, I will break them down into categories such as terminals, editors, and other developer tools. But first, let me tell you some Mac settings which I prefer.

INFO

The version of MacOS at the time of this writing is 15.1 (MacOS Sequoia). If you are on a newer version, the settings may be different.

MacOS Settings

  • Desktop and Dock > Dock

    • Position on screen: Left
    • Automatically hide and show the Dock: On
  • Desktop and Stage Manager

    • Show Items
      • On Desktop: Off
      • In Stage Manager: On
    • Click wallpaper to show desktop: Only in Stage Manager
    • Stage Manager: Off
    • Mission Control: Turn everything on
  • Displays

    • True Tone: Off

Package Manager - Homebrew

Homebrew is the all-in-one package manager for MacOS. It can also install apps and fonts using homebrew cask. Installing it is the first thing you should do when setting up a new Mac.

Install script:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

Version Control - Git

To install git, I can use Homebrew and it works like a charm:

brew install git

I recommend configuring and adding an ssh key for dealing with repositories on GitHub. Refer the official documentation for more information.

Terminal

The default terminal shell on MacOS is zsh and it's good, but it's even better with frameworks such as oh-my-zsh.

1. Oh My Zsh

True power of oh-my-zsh comes with its plugins. The most popular ones are:

  • zsh-autosuggestions - Provides auto-complete suggestions using command history.
  • zsh-syntax-highlighting - Very helpful in catching syntax errors.
  • git - Useful aliases and functions for git.
  • git-prompt - Displays metadata related to the current git repository branch and its status relative to the remote branch.
  • you-should-use - Suggests available aliases which you should use instead of the command you're currently using.

I recommend installing all of these plugins via oh-my-zsh and adding them to your ~/.zshrc file. You can refer to the respective plugin documentation for more details.

plugins=(git git-prompt zsh-autosuggestions zsh-syntax-highlighting you-should-use zsh-bat)

Oh My Zsh also provides a variety of themes to choose from but I prefer the Powerlevel10k theme by romkatv.

2. Warp

If you don't like the look and feel of the default terminal in macOS even after configuring oh-my-zsh, then you can have a look at warp.dev which is a terminal with the most modern look you can ever get in a terminal. Integration with AI is one of the things which you can use it for.

brew install --cask warp

3. iTerm2

There's also iTerm2 which is a terminal emulator for macOS. If you are a power user and love legacy terminals, then this one's for you.

brew install --cask iterm2

Editors / IDEs

1. Visual Studio Code

VS Code is still my go to editor. I prefer it because of its simplicity and extensibility. Part of the reason why I prefer it is because I am in a way habituated to it and it does a good enough job of meeting my developer needs.

2. Cursor

AI it is. Cursor, a VS Code fork, does a great job in fulfilling the AI needs which lack in VS Code. With it's similarity with VS Code, users can easily switch between these editors and still get the work done efficiently. It's my go to editor for AI stuff.

3. Zed

One of the things I love about Zed is how performant it is. VS Code can sometimes feel sluggish especially when you have a lot of extensions. Zed does all of those things natively, in a fast and efficient way - mainly because it's written in Rust.

Productivity

1. Raycast

Many people coin Raycast as a spotlight replacement but it's more than that for me. It can do shortcuts, clipboard, search and installation of apps through homebrew. I have still kept the spotlight shortcut as "Command + Space" and use Raycast with the hotkey "Option + Space".

2. Obsidian

I kind of switch between Notion and Obsidian for note taking. I find Obsidian very snappy and easily accessible when I have to quickly jot something down, while Notion is for when I want to retain or log something for later use or reference. But, both are great in my opinion.

Pro Tip

Bear is also a good choice.

3. Maccy - Clipboard Manager

If you don't want to use Raycast's clipboard history (which I don't), try out Maccy which is a simple clipboard manager. It is easily accessible via shortcuts (which you can configure) and is open-source. It requires macOS Sonoma 14 or higher.

Browsers

I use Chrome for development and day-to-day work, Safari for Netflix, Brave for private browsing, and Arc just to feel nice.

Miscellaneous

1. Bitwarden - Password Manager

I personally use Bitwarden as a password manager and I have no complains so far. What's interesting is it's open-sourced and can be self-hosted. Being open-sourced also means it's transparent and audited by the community. Trust me, it's a pain in the neck to manage passwords for all of the random accounts we developers create to try different things, and bitwarden makes it easy for you.

2. Syncthing

Syncthing is by far the best file sharing tool I have ever used. You can literally sync folders between two machines (be it Android, macOS, or Windows) seamlessly. If you have another system at a remote location, it can be really handy to sync project folders or work files using a local network or an internet connection. Again, it's open-sourced and trusted by the community.

This list is evolving. If you have any suggestions, please let me know. Here's an in-depth mac setup video by wesbos for power users:


Better - An AI powered Code Reviewer

Previous