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
- Acorn
- AppCleaner
- Docker
- Firefox
- Ghostty
- Go
- Hidden Bar
- IINA
- Itsycal
- Keka
- Little Snitch
- Meta
- Mimestream
- Mp3tag
- Mullvad VPN
- Notable
- Pimosa
- Quarto
- Radiola
- Rectangle Pro
- RStudio
- Spect
- Sublime Merge
- Sublime Text
- Swinsian
- uv
- Visual Studio Code
- Zed
Terminal
- Ensure Xcode is installed:
xcode-select -p
. - Disable accented character when holding down keys:
defaults write -g ApplePressAndHoldEnabled -bool false
- Install Homebrew and packages.
- b2-tools: B2 Cloud storage command-line tools
- basictex: Compact TeX distribution as alternative to the full TeX Live / MacTeX
- bat: Clone of cat(1) with syntax highlighting and Git integration
- catimg: Insanely fast image printing in your terminal
- cmus: Music player with an ncurses based interface
- duckdb: Embeddable SQL OLAP database management system
- exiftool: Perl lib for reading and writing EXIF metadata
- eza: Modern, maintained replacement for ls
- fastfetch: Like neofetch, but much faster because written mostly in C
- fzf: Command-line fuzzy finder written in Go
- gh: GitHub command-line tool
- git: Distributed revision control system
- imagemagick: Tools and libraries to manipulate images in many formats
- lftp: Sophisticated file transfer program
- magic-wormhole: Securely transfers data between computers
- neovim: Ambitious Vim-fork focused on extensibility and agility
- nnn: Tiny, lightning fast, feature-packed file manager
- pandoc: Swiss-army knife of markup format conversion
- pyenv: Python version management
- taskwarrior-tui: Terminal user interface for taskwarrior
- wget: Internet file retriever
- yadm: Yet Another Dotfiles Manager
- youplot: Command-line tool that draw plots on the terminal
- yt-dlp: Feature-rich command-line audio/video downloader
- zola: Fast static site generator in a single binary with everything built-in
- Install custom zsh prompt.
- VS Code: Install Go tools.
- pyenv: Install latest and set as global.
- uv tools:
- ruff
- install:
uv tool install ruff@latest
- shell autocompletion:
ruff generate-shell-completion zsh > ~/.zfunc/_ruff
- install:
- ruff
- Add the PATHS to
/private/etc/paths.d
.- go: /usr/local/go/bin
- pyenv: $HOME/.pyenv/shims
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 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
- RStudio: Gruvbox
- Sublime: Kanagawa
- VS Code: Chalice theme and icons
- Zed: Catppuccin Latte, Simple Darker