Thi Notes
AboutNotesBlogTopicsToolsReading
About|Sketches |Cooking |Cafe icon Support Thi

Fresh macOS installation

Fresh macOS installation

Anh-Thi Dinh
Others
Tools
MacOS
Fresh Installation
This note covers essential settings and steps for reinstalling macOS. Follow the order carefully for best results.
👌
Updated Nov 11, 2025 with macOS 26. Settings marked with 🔸 are highly customized based on my personal experience and not the default behavior. Feel free to skip these settings.
  1. Check info
  1. System Settings → Keyboard
      • Input Sources: Should choose "U.S." instead of "U.S. International" because with the latter, we have underline score below special symbols like "
      • 🔸 Keyboard Shortcuts → Function Keys → Use F1, F2, etc. keys as standard function keys.
      • 🔸 Screenshot:
        • Switch the shortcuts between "Save picture of selected area as a file" and "Copy picture of selected area to the clipboard." I use "copy to clipboard" more frequently than "save as a file," so the simpler shortcut should be assigned to the "copy" action.
        • Uncheck "Save picture of screen…" (both options) to avoid accidentally saving the entire screen.
  1. Change the screenshot save location: Open Screenshot.app and select your preferred save location.
  1. System Settings → Trackpad
      • Point & Click
        • 🔸 Look up & data detectors → Tap with Three Fingers
        • Tap to click (tap with one finger)
      • Scroll & Zoom
        • 🔸 Turn off natural scrolling
      • More gestures
  1. 🔸 System Settings → Mouse: turn off natural scrolling.
  1. 🔸 Three fingers to drag (choose texts): System Preferences > Accessibility > Pointer Control > Trackpad Options... > Enable dragging (three fingers drag).
  1. Download and install EVKey (I used to love it, but recent updates have made it laggy) or OpenKey, a Vietnamese input method.
  1. System Settings → Menu Bar → hide icons
  1. (Optional) Map top-left keyboard to backslash/tilde symbols. Install Karabiner-Elements and setting up "non_us_backslash" to "grave_accent_and_tilde (`)". If you don't know the names of some keys, you can use installed Karabiner Viewer.
  1. Install AltTab HyperSwitch (and use ⌘ + ⇥ which replaces the default method on mac, be careful!!!) to switch between windows (instead of apps) like on Windows/Linux.
  1. (Optional) For external keyboard K380: Download and install Logitech Options. Install this to use F keys by default. Remark: Don't open Bitwarden while using K380, otherwise, it won't work normally (for example, F keys).
  1. Finder → Settings
      • Hide all items on desktop.
      • Default folder when new Finder window shows → “Downloads”
      • Sidebar: show more options
      • Advanced: Keep folder on top…
      • When performing a search → Search the curreng folder
  1. Finder → View
      • Show status bar.
      • Show path bar.
  1. Change the Date and Time format to 24-hour in System Settings.
  1. Download, install and sync Google Drive.
  1. Download and install Screenflick for screen recording on macOS (read more this note).
  1. (Optional) Install Viettien (I use version 5.0b for Mac Big Sur chip M1). Alternative dictionaries can be downloaded from this link (I backed it up for personally using).
    1. Another option is to install Tinhte's dictionary from this link, copy extracted folder (Tinhe_anh-viet.dictionary) to /Users/thi/Library/Dictionaries/.
    2. After installing successfully, open Dictionary app > Preferences... > Tick on the names which are corresponding to the installed/copied dictionaries.
    3. There are built-in LacViet dictionaries but they are not activated yet, don't forget them!
  1. Goldendict (a universal dictionary for macOS): download installation here + dictionaries here.
  1. Install Cursor IDE (note) or VSCode IDE (note).
      • Install Cursor / VSCode extensions, check this page.
      • For Cursor: If you prefer a vertical activity bar like VSCode’s (for search, extensions, and other icons) instead of the horizontal layout, navigate to Settings → Workbench → Activity Bar → Orientation and change it there.
      • Enable native macOS tab: go to settings → search for “native tab”
      • After installing all extensions, disable them all, then enable only those required for your specific workspace.
      • (Optional) Add GLM-4.6 custom model to Cursor (official guide).
      • Change the keyboard shortcut of “Rename symbol” from F2 to opt+F2.
  1. For more apps, check this list.
  1. Custom shortcuts for app (Brave)
      • Setup right inside the Brave settings: Go to Brave settings (brave://settings/system/shortcuts?search=shortcuts),
        • Look for Dev tool inspect and set ctrl + c
        • Look for Duplicate tab and set ctrl + shift + d for it!
  1. Install hombrew.
  1. Setting up zsh and terminal (check this note for more). MacOS supports it by default.
      • Check if zsh is installed?
      • Install oh-my-zsh
      • Install plugins: zsh-autosuggestions, zsh-syntax-highlighting
      • Install spaceship
      • Install font Source Code Pro. Below are a-z steps, if there is any error, check this note.
        • Install Source Code Pro then
  1. Download and install iTerm2, check this note for more.
      • Make sure you already downloaded your backup settings first.
      • General → Settings → Import all Settings and Data… → choose iTerm2 State.itermexport
      • (Then) The same location as above → tick (or not) “Load settings from a custom folder or URL”
        • Preferences → Profiles → General → Other Actions → Import JSON Profiles… → choose a .json file
      • Turn off command selection: Settings → General → Selection → untick “Clicking on the command selects it to restrict Find and Filter”
      • Turn off “Mark indicators”: Settings → Profiles → Choose a profile → Terminal → check section “Shell Integration” and untick “Show mark indicators”
      • Set cmd+c as copy selected text: open iTerm2 Settings → Keys → + → Keyboard shortcut cmd+c with action “Copy or Send…”
  1. Setting up ssh agents
    1. Create or edit ~/.ssh/config
      Create in ~/.zshrc
      Usage: ssh_ideta for work, ssh_thi for personal.
  1. (Optional) Disable dark mode for specific app
  1. Add gap to Dock (use multiple times)
  1. Add gmail accounts to Mail app.
  1. System Settings → Desktop & Dock
      • Turn off auto open last opened windows in QuickTime and Preview: System Preferences → Desktop & Dock
        • Windows → Prefer tabs when opening documents: Always
        • Close windows when quitting an application: True
        • For QuickTime specific
      • Turn off click wallapaper to move windows out of the way: Desktop & Doc → Desktop & Stage Manager → Show Desktop: Only in Stage Manager on Click.
      • Turn of “Show suggeted and recent apps in Doc” in Desktop & Dock.
  1. Dev things
    1. Install Cursor / VSCode extensions
    2. Install nvm and nodejs globally.
    3. Install miniconda.
    4. Install docker (via Orbstack)
    5. Restore Postgres database
      1. On the new macbook, download and install Postgres.app then open it and click “Initialize”
    6. Install Claude Code and ccs if you also use GLM.
    7. Install MongoDB Compass, Postman.
1# Current version of MacOSX
2sw_vers -productVersion
3
4# Check if XCode Command Line Tools is installed
5xcode-select --install
6# Should return "/usr/bin/xcrun"
7# If there is any problem, try to install XCode from App Store!
8
9# check if running on ARM or Intel
10arch
11# arm64 -> ARM
12# i386 -> Intel (running with Rosetta)
1zsh --version
1brew install wget
2brew install fontconfig
3wget https://github.com/powerline/powerline/raw/develop/font/PowerlineSymbols.otf
4wget https://github.com/powerline/powerline/raw/develop/font/10-powerline-symbols.conf
5mkdir ~/.local/share/fonts/
6mv PowerlineSymbols.otf ~/.local/share/fonts/
7fc-cache -vf ~/.local/share/fonts/
8mkdir ~/.config/fontconfig
9mkdir ~/.config/fontconfig/conf.d
10mv 10-powerline-symbols.conf ~/.config/fontconfig/conf.d
1fc-cache -f -v
1# Generate SSH keys for both accounts
2ssh-keygen -t ed25519 -C "[email protected]" -f ~/.ssh/id_ed25519_thi
3ssh-keygen -t ed25519 -C "[email protected]" -f ~/.ssh/id_ed25519_ideta
4
5# Add public keys to github accounts
6cat ~/.ssh/id_ed25519_thi.pub        # Add to personal GitHub
7cat ~/.ssh/id_ed25519_ideta.pub      # Add to work GitHub
1# Personal (default)
2Host github.com
3    HostName github.com
4    User git
5    IdentityFile ~/.ssh/id_ed25519_thi
6    IdentitiesOnly yes
7
8# Work
9Host github-work
10    HostName github.com
11    User git
12    IdentityFile ~/.ssh/id_ed25519_ideta
13    IdentitiesOnly yes
1# Set global git config to personal account
2git config --global user.name "Anh-Thi D"
3git config --global user.email "[email protected]"
1ssh_ideta() {
2    export GIT_SSH_COMMAND='ssh -i ~/.ssh/id_ed25519_ideta -o IdentitiesOnly=yes'
3    git config --global user.name "Thi"
4    git config --global user.email "[email protected]"
5    echo "Switched to ideta GitHub account"
6}
7
8ssh_thi() {
9    unset GIT_SSH_COMMAND
10    git config --global user.name "Anh-Thi Dinh"
11    git config --global user.email "[email protected]"
12    echo "Switched to thi GitHub account"
13}
1# Use spotlight to find the name of the app, eg. "Calendar"
2# Find the bundle identifier of this app by
3osascript -e 'id of app "Calendar"'
4# which returns: com.apple.iCal
5
6# Turn off dark mode
7defaults write com.apple.iCal NSRequiresAquaSystemAppearance -bool Yes
8# Restore setting
9defaults write com.apple.iCal NSRequiresAquaSystemAppearance -bool No
10
11# Restart the app
1defaults write com.apple.dock persistent-apps -array-add '{"tile-type"="spacer-tile";}'; killall Dock
1defaults write com.apple.QuickTimePlayerX NSQuitAlwaysKeepsWindows -bool false
1# On the old macbook
2pg_dump -h localhost -U postgres -d postgres > backup.sql
1echo 'export PATH="/Applications/Postgres.app/Contents/Versions/latest/bin:$PATH"' >> ~/.zshrc
2# refresh zsh
3source ~/.zshrc
4# verify
5which createdb
1createdb postgres
1alias vb_claude="claude"
2alias vb_glm="ccs glm"
In ~/.zshrc