Mac Setup For Developers [2024]
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
- Show Items
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: