MacOS setup for software development Must / Nice to have

These are my Must / Nice to have on a MacbookPro over the years - (updated for Apple Silicon Macs)

Must Haves

For more info M3 MacBook setup for development env - basics

✅ Install XCode (CLI):

$ xcode-select --install

✅ Install a Package Manager - Homebrew

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

Note: While Rosetta 2 is not required for Homebrew itself, you might still need it for certain formulae or casks that haven't been updated with native ARM64 support. However, many popular packages now have native ARM64 versions available.

SSH Key setup

  • Github

Following this instruction from the GitHub Docs didn't give me any issues on my M3 MacBookPro.

  1. Generate a new SSH key

ssh-keygen -t ed25519 -C "your_email@example.com"

  1. Add new SSH key to ssh-agent

2.1. Start the ssh-agent in the background

$ eval "$(ssh-agent -s)"

2.2. If you're using macOS Sierra 10.12.2 or later, you will need to modify your ~/.ssh/config

Host github.com
  AddKeysToAgent yes
  UseKeychain yes 
  IdentityFile ~/.ssh/id_<your_key>

Note: If you chose not to add a passphrase to your key, you should omit the UseKeychain line.

2.3. Add your SSH private key to the ssh-agent and store your passphrase in the keychain.

ssh-add --apple-use-keychain ~/.ssh/id_<your_key>

2.4. Add the SSH public key to your account on GitHub.

  1. Authenticate to Git — Github Since most developers have two-factor authentication (2FA) enabled (as they should), we must install the GitHub utility gh to authenticate Git operations.
brew install gh
gh auth login

and follow the on screen instructions to authenticate via the browser

 ➜  ~ gh auth login
? What account do you want to log into? GitHub.com
? What is your preferred protocol for Git operations on this host? SSH
? Upload your SSH public key to your GitHub account? /Users/carmen/.ssh/id_ed25519_karmenatwork.pub
? Title for your SSH key: GitHub CLI
? How would you like to authenticate GitHub CLI? Login with a web browser
....

✅ Replace MacOS built-in terminal. I've been using for years iTerm2. Download it here or

$ brew install --cask iterm2

✅ Development Tools

  • Paid version: I've been using for years jetbrains IDEs, depending of the language but mostly RubyMine and PyCharm.

  • Free version: The most popular one is Visual Studio Code. Download and install it, then moved it to Application folder.

Nice to Haves

It's a actually a Must for me 😀

👌🏽 Improve your terminal with "Oh My ZSH!"

For managing your Zsh configuration ohmyz.sh

sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

Open .zshrc and customize your settings such as ZSH_THEME .

👌🏽 Windows organizer

I continue using Magnet to organize my multiple windows at the same time. I installed it via the App Store