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-cli
Step 6: Install and configure asdf
- Install
asdf
# https://asdf-vm.com/#/core-manage-asdf brew install asdf # Add to shell echo -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
pure
integration 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
.zshrc
file 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 colorls
mas 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
.gitconfig
and.gitignore_global
files 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 # android export ANDROID_SDK_ROOT=$HOME/Library/Android/sdk # avdmanager, sdkmanager export PATH=$PATH:$ANDROID_SDK_ROOT/tools/bin # adb, logcat export PATH=$PATH:$ANDROID_SDK_ROOT/platform-tools # emulator export PATH=$PATH:$ANDROID_SDK_ROOT/emulator # build tools export 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:
- https://github.com/rgcr/m-cli
- https://github.com/herrbischoff/awesome-macos-command-line
- 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