Hey friends,
I just upgraded my personal laptop from a 2019 Intel MacBook Pro to an M4 MacBook Pro. Like all my new devices, instead of restoring from a backup, I try to Marie Kondo my digital life and start from a clean slate. This also lets me reexamine my existing tools and explore new options. Here’s my minimal Mac setup guide if you want to follow along.
P.S., My friend Jason is hosting a 3-day workshop on how to leverage your existing data, ML, AI know-how into extra consulting income—it's a steal at 25% off until Sunday!
I appreciate you receiving this, but if you want to stop, simply unsubscribe.
• • •
👉 Read in browser for best experience (web version has extras & images) 👈
MacOS settings
- Apple ID: Sign in
- MacOS update: Settings -> General -> Software Update
- Keyboard: Switch to Dvorak, key repeat = fast, delay until repeat = short
- Trackpad: Max tracking speed, tap to click, click = light, natural scroll = off
- Displays: Switch to Apple Display (p3-600) for slightly better battery life
- Finder: Show Library, show hidden files, show path to dir
# show Library folder chflags nohidden ~/Library # show hidden files defaults write com.apple.finder AppleShowAllFiles YES # add pathbar to title defaults write com.apple.finder _FXShowPosixPathInTitle -booltrue# restart finder killall Finder;
- Screenshots (to clipboard):
CMD + SHIFT + F5 and change setting in “Option” menu. This lets me screenshot and paste into docs, chats, social media, etc directly (without saving a separate file). If I need to save it, open Preview and CMD + N .
- Dock: Hide and show dock, reduce size, remove most default apps
Basic developer tools
- Homebrew (might take a while as it also installs Xcode)
/bin/bash -c"$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"# add brew to default shell pathecho>> /Users/eugeneyan/.zprofile echo'eval "$(/opt/homebrew/bin/brew shellenv)"'>> /Users/eugeneyan/.zprofile eval"$(/opt/homebrew/bin/brew shellenv)"# check for updates brew update
- Terminal: Trying Warp instead of my usual iTerm. (If you use my referral code I can get some swag—thank you!)
brew install--cask warp brew install--cask font-inconsolata-for-powerline # Update warp font: Settings -> Appearance -> Terminal font
- Shell: Trying Fish instead of my usual Oh My Zsh
brew install fish # make fish default shellecho$(which fish) | sudo tee-a /etc/shells chsh -s$(which fish)# add brew to fish pathecho>> /Users/eugeneyan/.config/fish/config.fish echo'eval "$(/opt/homebrew/bin/brew shellenv)"'>> /Users/eugeneyan/.config/fish/config.fish eval"$(/opt/homebrew/bin/brew shellenv)"
brew install htop
ssh-keygen -t ed25519 -C"your_email@example.com"eval"$(ssh-agent -s)"touch ~/.ssh/config open ~/.ssh/config # add to config Host github.com AddKeysToAgent yes UseKeychain yes IdentityFile ~/.ssh/id_ed25519
Also see the Github docs to generate a new ssh key and add to ssh agent, and add a new ssh key to Github account.
brew install git git config --global core.editor "nano" git config --global init.defaultBranch main git config --global user.name "eugeneyan" git config --global user.email eugene@eugeneyan.com
Research, writing, development
- Obsidian: All my notes, writing, CRM, etc. live here
brew install--cask obsidian # clone obsidian vault (i use obsidian-git for syncing) git clone git@github.com:
- Zotero: Papers and annotations. Zotero has a nice PDF reader and markup tools, and also has an iPad app that syncs seamlessly. (Previously Google Drive)
brew install--cask zotero # enable zotero plugin in safari
- Cursor: Daily driver for prototyping and building. (Previously vscode)
brew install--cask cursor # old machine: cmd+shift+p > export profile# new machine: cmd+shift+p > import profile
- Sublime: Simple code and text edits
brew install--cask sublime-text
- Chrome: For web development
brew install--cask google-chrome
- Postgres: To prototype web apps that need persistent storage
brew install postgresql@14
# very fast python package manager brew install uv # install the latest python uv python install 3.12
brew install node brew install nvm # still deciding between pnpm and bun brew install pnpm brew install oven-sh/bun/bun
brew install chruby-fish ruby-install ruby-build brew install rbenv # workaround for fish shellset--universal fish_user_paths $fish_user_paths ~/.rbenv/shims rbenv global 3.3.5 rbenv rehash
brew install--cask docker
- Ollama + Open WebUI: Running local models via a nice interface
brew install ollama ollama serve # in another terminal, pull some models to try ollama pull llama3.2 nemotron # 3B and 70B respectively
uv tool install open-webui uv tool run open-webui serve
Productivity and quality of life
- Raycast: A better spotlight
brew install--cask raycast
- Rectangle: Window management.
brew install--cask rectangle
While Raycast already has window management, Rectangle lets you hit the hotkey again (e.g., CTRL + CMD + LEFT ) to resize windows from 1/3 to 1/2 to 2/3. Great for widescreens.
Rectangle settings for resizing windows
- Wispr Flow: Download and set output language = English. Speech-to-text. Returns accurate transcripts with decent punctuation and formatting. (If you use my referral link you earn good karma and I get $15 in credits! )
- Google Drive: Syncing documents, files, media, etc.
brew install--cask google-drive
- Stats + Ice: Adding system stats to menu bar and customizing the menu bar
brew install stats brew install jordanbaird-ice
Entertainment and communications
brew install--cask vlc brew install--cask spotify
brew install--cask telegram brew install--cask discord brew install--cask slack
References
|