Personal guide for setting up a mac
I highly recommend to start fresh with a clean install of the latest version of macOS. Check here for the latest guide on how to do so.
You can download and install XCode from the Mac App Store. Just search for "xcode" and it should come up as the first result.
NOTE: Before proceeding to the next step, open XCode after installation as it will install additional tools, I also recommend to restart your mac after.
Install XCode command line tools
xcode-select --install
Install Rosetta
# Ref: https://apple.stackexchange.com/questions/428768/on-apple-m1-with-rosetta-how-to-open-entire-terminal-iterm-in-x86-64-architec softwareupdate --install-rosetta --agree-to-license
Step 3: Install Homebrew
- Get Homebrew which is a package manager for macOS.
Install iTerm2
brew tap cask brew install iterm2 --cask
Using iTerm2, install Oh My Zsh
NOTE: Be sure to accept change into using Z shell (zsh)
Set iTerm as default terminal
Install iTerm shell integrations
brew install git
brew install node
brew install mas
brew install m-cliStep 6: Install and configure asdf
- Install
asdf# https://asdf-vm.com/#/core-manage-asdf brew install asdf # Add to shellecho -e "\n. $(brew --prefix asdf)/asdf.sh">>~/.zshrc
- Install asdf plugins
asdf plugin-add nodejs asdf plugin-add python
- Install latest (stable) versions
asdf install nodejs latest:16 asdf install python latest
- Set global plugin versions
asdf global nodejs system asdf global python system
- Install pure
brew install pure
- Configure
pureintegration tooh-my-zsh - Install fonts
brew install font-hack-nerd-font --cask brew install font-inconsolata-dz-for-powerline --cask
- Install iTerm Profile
- Filename:
itermprofiles.json - Guide: https://stackoverflow.com/questions/35211565/how-do-i-import-an-iterm2-profile
- Filename:
- Set iTerm Preferences -> Appearance -> Panes
- Side margins = 12
- Top & bottom margins = 20
- Install zsh plugins
- Check the
.zshrcfile for other configurations - Restart iTerm for the changes to take effect
# browsers
brew install google-chrome --cask
brew install brave-browser --cask
brew install firefox-developer-edition --cask
# browsers (optional)
brew install safari-technology-preview --cask
# text editors
brew install visual-studio-code --cask
brew install sublime-text --cask
# developer tools
brew install docker --cask
brew install postman --cask
brew install postico --cask
# developer tools - android and ios
brew install android-studio --cask
brew install gradle
brew install cocoapods
# developer tools (optional)
brew install mysqlworkbench --cask
brew install ngrok --cask
# utilities
brew install 1password --cask # TODO: Move to mas/appstore
brew install authy --cask
brew install omnidisksweeper --cask
# utilities (optional)
brew install kap --cask
brew install teamviewer --cask
brew install android-file-transfer --cask
brew install balenaetcher --cask
# communications
brew install zoom --cask
brew install keybase --cask
brew install discord --cask
# communications (optional)
brew install whatsapp --cask
brew install franz --cask
brew install skype --cask
# drivers
brew tap homebrew/cask-drivers
brew install logitech-g-hub --cask
# etc
brew install steam --cask
brew install spotify --cask
brew install vlc --cask
brew install transmission --cask
# gems
sudo gem install colorlsmas install 497799835 # Xcode
mas install 1037126344 # Apple Configurator 2
mas install 803453959 # Slack
mas install 425955336 # Skitch
mas install 441258766 # Magnet
mas install 425424353 # The Unarchiver
mas install 409203825 # Numbers
mas install 409183694 # Keynote
mas install 409201541 # Pages- Setup ssh keys - https://help.github.com/en/articles/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent
- Setup signed commits - https://docs.github.com/en/authentication/managing-commit-signature-verification/about-commit-signature-verification
brew install gnupg brew install --cask gpg-suite
- Copy
.gitconfigand.gitignore_globalfiles into home directory - Update
.gitconfig/user.email - Update
.gitconfig/user.signingkey
- Visual Studio Code
- Sublime Text
- Setup java/android development tools
- Java 11
# Ref: https://stackoverflow.com/questions/64788005/java-jdk-for-the-apple-m1-chip brew install openjdk@11 # brew info openjdk@11 sudo ln -sfn /opt/homebrew/opt/openjdk@11/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk-11.jdk # in ~/.bashrc or ~/.zshrc# export JAVA_HOME="$(brew --prefix openjdk@11)/libexec/openjdk.jdk/Contents/Home"
- Install tools
# Install sdkmanager "tools""platform-tools""extras;android;m2repository""extras;google;m2repository""build-tools;30.0.3""platforms;android-30"# Accept licenses sdkmanager --licenses
- Set environment variables
# ~/.zshrc# androidexport ANDROID_SDK_ROOT=$HOME/Library/Android/sdk # avdmanager, sdkmanagerexport PATH=$PATH:$ANDROID_SDK_ROOT/tools/bin # adb, logcatexport PATH=$PATH:$ANDROID_SDK_ROOT/platform-tools # emulatorexport PATH=$PATH:$ANDROID_SDK_ROOT/emulator # build toolsexport PATH=$ANDROID_SDK_ROOT/build-tools/30.0.3:$PATH
- Java 11
- Safari
- Plugins:
- 1Password
- Plugins:
- Google Chrome
- Plugins:
- 1Password
- Adblock Plus - free ad blocker
- JSONView
- React Developer tools
- Redux DevTools
- Panda
- Octotree
- Eye Dropper
- Plugins:
- Brave
- Plugins:
- 1Password
- Plugins:
- Firefox Developer Edition
- Plugins:
- 1Password
- Facebook Container
- Firefox Multi-Account Containers
- Plugins:
- System Preferences -> Internet Accounts
- Add work accounts (All except Notes)
- Add personal account (Calendar only)
- Calendar -> Accounts
- Choose necessary Delegations
- Incorporate homebrew/bundle
- NOTE: Initial Brewfile is included in the repo
- Specify other System Settings
- Battery
- Finder
- etc