2022 New Mac Setup
I got a new Macbook at work, 13” w/ M2 Chip, and I thought it would be great to spend the day setting it up. The following is a document I had continued to write as I was going through every step of the way. This might inspire you to do the same, the next Macbook you start from fresh.
Order of operation
- Setup Apple ID
- Setups family sharing automatically
- Upgrade MacOS to latest version (Ventura 13.0.1)
- Change Keyboard settings - caps lock to escape
- Setup Fingerprinting
- Setup Internet Accounts
- Work Gmail (contacts and calendar)
- Personal Gmail (contacts and calendar)
- Setup bluetooth keyboard and trackpad
- Install 1Password
- Install Obsidian
- Login to Obsidian Sync (Takes a few minutes)
- Turn on 3 finger drag
- Install Brave
- Install iTerm2
- Connecting to Github via ssh
- Connecting to Bitbucket via ssh
- Clone orb
- Install fnm
- Install node
- Install Superhuman
- Install yarn
- Install my own dotfiles
- Modify
.vimrc
since Vundle is not installed
- Modify
- Install Zoom - actually it was already installed
- Install Slack - pre-installed
- Install VSCode
- Install Fantastical 3
- Login to the different google accounts
- Install Drafts
- Copy over VSCode Extensions
- Install Reader
Installs
In order of installation (as appears in “Order of Operation”)
1Password
- Setup with sign-in was extremely easy, since the Internet accounts and family sync was already setup
Obsidian
- Some settings need to be changed
- When syncing, select
cl-work-pkm
(personal vault) - Sync the setting from main macbook
- Obsidian sync appearance settings
- Obsidian sync extensions
- Hotkey changes
- Move line up
- Move line down
- Quick Switcher: Open Quick Switcher
- Command Palette: Open Command Palette
- Obsidian keybinding changes
Brave
-
Setup Work Profile
-
Setup Chain Code (Brave Sync)
-
Setup Home Profile
-
Appearance Changes
- Toggle Off: Bookmarks button
- Toggle Off: Side panel button
- Toggle Off: Always show bookmarks on new tab page
- Toggle On: Speedreader
-
Login to
- Work Google
- Personal Google
- Github
-
Brave Sync Code (Beware, this code should be private)
beach cheap hidden retire giggle gorilla tone pass length what spread march illegal episode fruit enjoy exact drive humble endless razor today follow treat boy
-
Brave shortcuts in URL bar
Brave Extensions
- React Dev Tools
- Redux Dev Tools
- Apollo Dev Tools
- Reader
iTerm2
- Install pip3 through XCode Command Line Tools (CLT)
- Create
workspaces
directory - Check if XCode is already installed
xcode-select -p
- A M2 chip issue on brew is solved with the following
# Warning: /opt/homebrew/bin is not in your PATH.
# - Run these three commands in your terminal to add Homebrew to your PATH:
echo '# Set PATH, MANPATH, etc., for Homebrew.' >> /Users/jeremywong/.zprofile
echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> /Users/jeremywong/.zprofile
eval "$(/opt/homebrew/bin/brew shellenv)"
- Modify Fonts
Homebrew
- Install Homebrew -
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
- Install CLT through brew
- Go to other Macbook and run
brew list
. Dump them in apackages.txt
and thenbrew install $(cat packages.txt)
Export Brew List
==> Formulae
adns gflags libcroco lz4 rav1e
aom ghostscript libde265 lzo readline
apr giflib libev m4 rtmpdump
apr-util gifsicle libevent metis rubberband
argon2 gl2ps libffi minikube sdl2
aspell glew libgcrypt mpdecimal shared-mime-info
autoconf glib libgpg-error mpfr sip
automake glog libheif mysql six
bdw-gc gmp libidn netcdf snappy
boost gnu-getopt libidn2 netlifyctl spark
brotli gnupg libksba netpbm speex
c-ares gnutls liblqr nettle sphinx-doc
ca-certificates go libmetalink nghttp2 sqlite
cairo gobject-introspection libmpc node srt
ceres-solver graphite2 libnghttp2 npth suite-sparse
cmake graphviz libogg numpy szip
composer grc libomp oniguruma tbb
coreutils gts libpng openblas tesseract
curl guile libpq opencore-amr theora
curl-openssl harfbuzz libpthread-stubs opencv tidy-html5
dav1d hdf5 librsvg openexr tldr
deno helm libsamplerate openjpeg tree
docbook icu4c libsndfile openldap unbound
docbook-xsl ilmbase libsodium openssl@1.1 unixodbc
double-conversion imagemagick libsoxr opus utf8cpp
eigen imath libssh2 p11-kit vtk
exercism isl libtasn1 pango wangle
fb303 jansson libtiff pcre watchman
fbthrift jasper libtool pcre2 webp
ffmpeg jbig2dec libunistring php wget
fizz jemalloc libusb pinentry x264
flac jpeg libvidstab pixman x265
fmt jpeg-xl libvmaf pkg-config xmlto
folly jq libvorbis potrace xorgproto
fontconfig jsoncpp libvpx protobuf xvid
freetds krb5 libx11 pugixml xz
freetype kubernetes-cli libxau pwgen yarn
frei0r kubernetes-helm libxcb pyqt youtube-dl
fribidi lame libxdmcp pyqt@5 yt-dlp
fzf lazydocker libxext python@2 zeromq
gcc leptonica libxrender python@3.10 zimg
gd libass libyaml python@3.8 zlib
gdbm libassuan libzip python@3.9 zstd
gdk-pixbuf libavif little-cms qt
gettext libbluray little-cms2 qt@5
==> Casks
calibre insomnia jet minikube
Ohmyzsh and zsh
- Install ohmyzsh -
sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
- Install spaceship-prompt theme
- Git is having trouble showing the icons (up, down, etc.)
Git
- Setup github configuration
git config --global init.defaultBranch main
git config --global user.name <redacted>
git config --global user.email <redacted>
- Generating a new SSH key and adding it to the ssh-agent
- Adding your SSH key to the ssh-agent
ssh-keygen -t ed25519 -C "<redacted>"
eval "$(ssh-agent -s)"
node
fnm install 16
npm login
npm config set loglevel="warn"
# sudo npm install netlify-cli -g
# netlify login
# npm i -g sign-bunny fortune-node parrotsay # fun little cli utilities to use
# npm i -g undollar # for removing $
# npm install -g npm-check-updates # for updating deps
# sudo npm install -g trash-cli # to add a `trash` command to so you dont permanently delete files
yarn
brew install yarn --ignore-dependencies
Google Cloud SDK
- Install SDK
- macOS 64-bit (ARM64, Apple M1 silicon)
- new
gsutil
Zoom
- Upgrade
- Sign in and activate from another device
- Screen sharing - needs a program restart
Slack
- Selected Current Company Slack
Visual Studio Code (VSCode)
- And download CLI
- Open Visual Studio Code
- In Command Palette, run Shell Command: Install ‘code’ command in PATH
- Export
code --list-extensions | xargs -L 1 echo code --install-extension
- Sign in to Github Copilot
Output
code --install-extension ahmadalli.vscode-nginx-conf
code --install-extension albymor.increment-selection
code --install-extension asvetliakov.snapshot-tools
code --install-extension atlassian.atlascode
code --install-extension azemoh.one-monokai
code --install-extension bradlc.vscode-tailwindcss
code --install-extension christian-kohler.npm-intellisense
code --install-extension christian-kohler.path-intellisense
code --install-extension DavidAnson.vscode-markdownlint
code --install-extension dbaeumer.vscode-eslint
code --install-extension denoland.vscode-deno
code --install-extension DotJoshJohnson.xml
code --install-extension eamodio.gitlens
code --install-extension EditorConfig.EditorConfig
code --install-extension eg2.vscode-npm-script
code --install-extension emmanuelbeziat.vscode-great-icons
code --install-extension esbenp.prettier-vscode
code --install-extension formulahendry.auto-close-tag
code --install-extension GitHub.copilot
code --install-extension GitHub.remotehub
code --install-extension jpoissonnier.vscode-styled-components
code --install-extension kevinkyang.auto-comment-blocks
code --install-extension kortina.vscode-markdown-notes
code --install-extension kumar-harsh.graphql-for-vscode
code --install-extension ms-azuretools.vscode-docker
code --install-extension ms-vscode-remote.remote-containers
code --install-extension ms-vscode.remote-repositories
code --install-extension ms-vscode.sublime-keybindings
code --install-extension ms-vsliveshare.vsliveshare
code --install-extension naumovs.color-highlight
code --install-extension pnp.polacode
code --install-extension richie5um2.vscode-sort-json
code --install-extension sandy081.todotasks
code --install-extension shanoor.vscode-nginx
code --install-extension silvenon.mdx
code --install-extension svelte.svelte-vscode
code --install-extension VisualStudioExptTeam.intellicode-api-usage-examples
code --install-extension VisualStudioExptTeam.vscodeintellicode
code --install-extension vscodevim.vim
code --install-extension wayou.vscode-todo-highlight
code --install-extension william-voyek.vscode-nginx
code --install-extension xabikos.JavaScriptSnippets
code --install-extension yzhang.markdown-all-in-one
With Monokai as my default theme
- VS Code Extension installation
Raycast
- Replace hotkey
- Disable hotkey for Spotlight
- System Settings > Keyboard > Keyboard Shortcuts > Spotlight and disable spotlight
- Ensure “Ask Siri” is not using the same shortcut
- Changed to fn or world + space
- Then change hotkey using Raycast preferences
- Disable hotkey for Spotlight
Outstanding Items
- Install Readwise
- Should we install Dotfiles?
- Install Rosetta 2 - No longer needed for M2 since it is packaged w/ OS
- SSH keys
- Install iTerm2
- Install Fantastical 3
- Go to other Macbook and run
brew list
. - Install Reader
- Dump
brew list
in apackages.txt
and thenbrew install $(cat packages.txt)
- z - jump around. Tracks your most used directories, based on ‘frecency’.
- Install Go (Golang)
- Setup Documents to be PARA
- setup iCloud w/ it?
- Raycast? Alternative breakdown
- Install Dropbox
- Selective sync
- Install Things
- Install Figma
- Add vscode workspace files for settings
- VS Code Configuration (default)
- Brave Extensions
- Copy over service account keys
- Install Google Cloud SDK
Optional Items
- Raycast Hotkey
-
Install Alfred - Install Postman - as needed
- Export current postman collections?
- Install Spotify - as needed
- Install Kindle - as needed
- Install ConnectWise Control Client - this can be done later on an as-needed basis
- Three Finger Swipe - Accessibility -> Pointer -> Trackpad Options -> Dragging Style -> Three Finger Drag.
- Install Java
- Install diff-so-fancy for a good
git diff
- set
git config --global core.pager "diff-so-fancy | less --tabs=4 -RFX"
- makes for much nicer git diff
- set
- Install KeyCastr
- Install Insomnia - as needed
- Export laptop insomnia json
- ngrok? Do I need it?
- Readwise - iBooks Sync
- Install Clipboard
Resources
- Mac Installation Guide from Yax
- New Mac Setup from swyx
- Christoph Nakazawa’s setup: Part 1, Part 2
- Robin Wieruch’s setup
- Mina Markham’s automated mac setup
- Tania Rascia’s setup
- Nick Nisi’s dotfiles
- Mathias Bynens macos defaults
- Jamon’s MacOS maintenance tips
- VMWare Tanzu house script: https://github.com/pivotal/workstation-setup
- Vendasta: https://github.com/vendasta/setup-new-computer-script
- You can automate dotfiles/homebrew setup with Sheldon Hull’s tool
- Physical equipment setups from prominent people: https://setups.co/
- A decade of dotfiles by Evan Hahn
- New Mac Setup from swyx
- The Perfect Development Environment - Setup tips for frontend development and React
- Set up a new Mac, Fast
Written by Jeremy Wong and published on .