Setting up a brand new MacBook for development
Bharat Kalluri / 2020-04-18
This article also evolves as my job evolves. Currently I do mostly Python and Typescript, So all the tooling will be focused on those languages.
Getting started
- Go through all the steps of Mac setup like setting up time zone etc..
- Update your system so that you have all the security updates and patches
Homebrew
Homebrew is a package manager for Mac OS. If you are familiar with apt on ubuntu or dnf on fedora, you will feel right at home. Install homebrew from command line
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
Install Apps
Brew broadly has two types of apps, normal open source applications like git etc.. and binary applications like firefox as casks. So brew install git
installs git and brew cask install firefox
installs firefox since firefox is a binary.
brew install \
git \
gpg \
gawk \
fzf \
stow \
exa \
git-delta \
make
Now let us install casks
brew install --cask \
alfred \
telegram \
visual-studio-code \
firefox \
rectangle \
iterm2 \
docker \
iina \
spotify \
postman \
jetbrains-toolbox \
zoom \
slack \
bitwarden \
whatsapp
Shell
MacOS already comes with zsh as the default shell, install oh-my-zsh which comes with a range of plugins and themes.
sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
SSH
Generate ssh keys and add them to github/gitlab
ssh-keygen -t ed25519 -C "<email>"
Safari extensions
Safari is a good browser and a sane default, but it requires some extensions for it to be ready for day to day use.
Safari extensions to install
- Enable Bitwarden on safari
- Adguard
Changes in MacOS settings and tweaks in other applications
- Enable tap on click on touch pad at Track pad > Tap to click
- Change caps lock to escape key : Keyboard > modifier keys > Caps lock - escape
- Set dark mode
- Dock preferences > Automatically hide and show dock
- Turn on firewall
- Change to natural preset for keyboard in
iterm
- Change
iterm
theme to smooth and appearance to minimal