I want to use this post as reference for setting up my macOS environment from scratch. Things like default settings, modifications, installations, etc. Time will tell, but hopefully I captured everything.
System Settings
-
iCloud
- Sign into iCloud account.
- Disable iCloud Drive backup for Desktop and Documents folders.
-
Notifications
- Turn off notifications for everything.
-
Appearance
- Show scroll bars: Always
- Click in the scroll bar to: Jump to spot that's clicked
-
Control Center
- Hide everything.
-
Accessibility
- Display: Shake mouse pointer to locate: Disable
-
Apple Intelligence & Siri
- Disable Apple Intelligence
- Disable Siri
-
Spotlight
- Help Apple Improve Search: Disable
- Disable Spotlight for everything except Applications, Calculator, and System Settings.
-
Desktop & Dock
- Position: Left
- Minimize windows: Genie Effect
- Double-click a window title: Do Nothing
- Minimize windows into application icon: Disable
- Automatically hide and show the Dock: Enable
- Show suggested and recent apps in Dock: Disable
- Disable Desktop & Stage Manager: Show on Desktop
- Click wallpaper to reveal desktop: Only in Stage Manager
- Stage Manager: Disable
- Widgets: Disable
- Hot Corners: top-right: Mission Control, bottom-right: Desktop
-
Game Center
- Disable
-
Keyboard
- Key repeat rate: fastest
- Delay until repeat: shortest
- Press fn key to: Do Nothing
-
Mouse
- Tracking speed: 70%
- Natural scrolling: Disable
- Secondary click: Right Side
- Smart zoom: Disable
Finder Settings
-
Toolbar: Back/Forward, Path, Search
-
View as columns
-
Sort by name
-
Hide folders with
chflags hidden ~/foobar
-
General
- Show these items on desktop: External disks
- New Finder windows show: $HOME
-
Tags
- Turn off everything.
-
Sidebar
- Show these items in the sidebar: AirDrop, Applications, Desktop, Downloads, $HOME, External disks
- Recent Tags: Disable
-
Advanced
- Uncheck everything except
- Show all filename extensions: Enable
- Keep folders on top: In windows when sorting by name
- When performing a search: Search This Mac
- Uncheck everything except
Software
- 1Password: Password manager
- Acorn: Image editor
- AppCleaner: App uninstaller
- Firefox: Web browser
- Ghostty: Terminal emulator
- Hidden Bar: Menu bar manager
- IINA: Media player
- Itsycal: Menu bar calendar
- Keka: Archive manager
- Little Snitch: Network monitor
- Meta: Audio tagger
- Mimestream: Email client
- Mp3tag: Audio tagger
- Mullvad VPN: VPN service
- Notable: Notes manager
- Pimosa: Media editor
- Oh My Zsh: shell configuration
- Radiola: Menu bar internet radio
- Rectangle Pro: Window manager
- Spect: Image viewer
- Swinsian: Music player
Terminal
Install Homebrew packages:
b2-tools
: B2 Cloud Storage Command-Line Toolsbat
: Clone of cat(1) with syntax highlighting and Git integrationcatimg
: Insanely fast image printing in your terminalduckdb
: Embeddable SQL OLAP Database Management Systemexiftool
: Perl lib for reading and writing EXIF metadataeza
: Modern, maintained replacement for lsfastfetch
: Like neofetch, but much faster because written mostly in Cfzf
: Command-line fuzzy finder written in Gogh
: GitHub command-line toolgit
: Distributed revision control systemimagemagick
: Tools and libraries to manipulate images in many formatslftp
: Sophisticated file transfer programmagic-wormhole
: Securely transfers data between computersneovim
: Ambitious Vim-fork focused on extensibility and agilitynnn
: Tiny, lightning fast, feature-packed file managerpandoc
: Swiss-army knife of markup format conversiontaskwarrior-tui
: Terminal user interface for taskwarriorwget
: Internet file retrieveryadm
: Yet Another Dotfiles Manageryouplot
: Command-line tool that draw plots on the terminalyt-dlp
: Feature-rich command-line audio/video downloaderzola
: Fast static site generator in a single binary with everything built-in
Programming
- Ensure Xcode is installed:
xcode-select -p
- Disable accented character when holding down keys:
defaults write -g ApplePressAndHoldEnabled -bool false
- Docker: Container platforms
- Go and R: Programming languages
- uv and ruff: Python tools
- Quarto: Publishing system
- Sublime Merge: Git client
- Zed, Visual Studio Code, Sublime Text: Code editors
- Go tools
- VS Code > Install Go tools
- Python
- Versions:
uv python install
- Shell autocompletion for ruff:
ruff generate-shell-completion zsh > ~/.zfunc/_ruff
- Versions:
- Tools to install via
uv tool install
pre-commit
spotdl
- Add the PATHS to
/private/etc/paths.d
.- Go:
/usr/local/go/bin
- Go:
SSH Key & Github
- Generate a new SSH key and add it to ssh-agent and Github (docs).
- Test connection with
ssh -T git@github.com
.
Firefox
- Sign to Firefox.
- Adjust privacy and extension settings.
- Setup custom userChrome.css.
- Setup Density, Github Dark, and use dark theme template for Stylus.
Configs
My user settings are either synced in the program or through yadm, which is stored on my private Github repo.
- Clone the yadm repo for dot files and other configs (notes, .vimrc, .zshrc, .config/, etc).
- VS Code user settings restored through account login.
Themes
Here are the usual themes I switch between:
- Ghostty: GruvboxDarkHard
- nvim: Kanagawa
- Sublime: Kanagawa
- VS Code: GitHub Theme
- Zed: Catppuccin Latte, Simple Darker
- zsh: Custom zsh prompt