A checklist and list of scripts I should run when getting a new computer or reinstalling OSX.
It'll feel like a super fast, new machine!
Updated for macOS 13, M1 by Grant Timmerman
Imagine your MacBook was stolen tomorrow. Or you started a new job with a new machine fresh off the press. Would you be able to recover your favorite settings?
You should have the following user/pass combinations ready:
- Wifi password (OS setup)
- Apple ID (OS setup)
- LastPass (Password manager)
- Phone – 2FA
Computer performance is extremely important.
To do our jobs faster, we try to balance two things:
- Use of applications to make our lives easier
- Performance/Efficiency to make our lives faster
- Appearance: Dark
- Accent color: Multicolor
- Highlight color: Accent Color
- Sidebar icon size: Small
- Allow wallpaper tinting in windows
- Show scroll bars: Automatically based on mouse or trackpad
- Click in the scroll bar to: Jump to the next page
- Default web browser: Google Chrome
- Prefer tabs: in full screen
- Ask to keep changes when closing documents
- Close windows when quitting app
- Recent items: None
- Allow Handoff
- Message: Start after: 1 hour
- Show with clock
- Hot corner: bottom-left, put monitor to sleep
- Screen Saver: Default
- Use random screen saver
- Dock
- Size: Smallest
- Magnification
- Position on screen: Right
- Minimize windows using: Scale effect
- Double-click on a window's title bar to zoom
- Minimize windows into application icon
- Animate opening applications
- Automatically hide and show the Dock
- Show indicators for open applications
- Show recent applications in Dock
- Menu Bar
- Automatically hide and show the menu bar on desktop
- Automatically hide and show the menu bar in full screen 🕒 Date & Time
- Date & Time: Set date and time automatically
- Time Zone: Set time zone automatically using current location
- Clock
- Show date and time in menu bar
- Time Options: Digital
- Date options:
- Show the day of the week
- Show the date
- Automatically rearrage Spaces based on most recent use
- When switching to an applications, switch to a Space with open windows for the application
- Group windows by application
- Displays have separate Spaces
- Dashboard: Off
- Mission Control: Ctrl + Opt + Cmd + Up
- Application windows: Ctrl + Opt + Cmd + Down
- Show Desktop: F11
- Show Dashboard F12
- Preferred languages
- English - Primary - 简体中文 - Chinese, Simplified
- Region: United States
- Calendar: Gregorian
- Time format: [x] 24-Hour Time
- General
- Require password for 1 minute after sleep or screen saver begins
- Allow apps downloaded from: Mac App Store and identified developers
- Privacy
- Allow the apps below to control your computer: (when downloaded)
- Google Chrome (https://www.google.com/chrome/browser/features.html)
- Moom (https://itunes.apple.com/us/app/moom/id419330170?mt=12)
- Allow the app to control your computer via System Preferences > Security & Privacy
- Allow the apps below to control your computer: (when downloaded)
- Only the following:
- Folders
- PDF Documents
- System Preferences
- Allow Notifications: Banners
- Show notifcations on lock screen
- Show in Notification Center
- Default for display
- Automatically adjust brightness
- True Tone
- Refresh Rate: ProMotion
- Turn display off after 15 minutes
- Put hard disks to sleep when possible
- Slightly dim the display while on battery power
- Optimize video streaming while on battery
- Optimized battery charging
- Show battery status in menu bar
- Low power mode
- Key Repeat - 2nd to fastest
- Delay Until Repeat - 3rd tick from left
- Adjust keyboard brightness in low light
- Turn off when computer is not used
- Show Keyboard, Emoji, & Symbol Viewers in menu bar
- Use all F1, F2, etc.
- Tracking speed: Fastest
- (you can increase it beyond this by doing this http://apple.stackexchange.com/questions/15210/how-to-increase-tracking-speed-beyond-the-maximum)
- Scrolling speed: 4th tick from left
- Double-Click speed: 2nd tick from right
- Primary mouse button: Left
- Point & Click
- Look up & data detectors
- Secondary click
- Tap to click
- Click: Medium
- Tracking speed: 2nd to last tick
- Force Click and haptic feedback
- Scroll & Zoom
- Scroll direction
- Zoom in or out
- Smart zoom
- Rotate
- More Gestures
- Swipe between pages
- Swipe between full-screen apps
- Notification Center
- Mission Control
- App Exposé
- Launchpad
- Show Desktop
- Nothing special
- Show volume in menu bar
- Uncheck all besides hardware settings. Use G Suite, Chrome, and Google Photos instead.
- Keychain
- Find My Mac
Ignore all those scary warnings and click "Remove from Mac".
- DON'T DOWNLOAD DRIVE OR DROPBOX
- Actions: Not enabled
- Finder: Not enabled
- Share Menu: Mail, AirDrop, Messages
- Today: Not enabled
- Show Wi-Fi status in menu bar
- Advanced
- Nothing really different besides default
- DNS Servers
- 192.168.0.1
- Turn Bluetooth Off
- Show Bluetooth in menu bar
- Nothing should be on
- Grant Timmerman - Admin
- Avatar: Fox
- Other Users - Guest User - Off
- VoiceOver: Disabled
- Zoom
- Use keyboard shortcuts to zoom
- Use scroll gesture with modifier keys to zoom
- Zoom style: Full screen
- Advanced
- Maximum Zoom: 0
- Minimum Zoom: 0
- When zoomed in, the screen image moves: Continuously with pointer
- Display
- Invert colors
- Use grayscale
- Differentiate without color
- Increase contrast
- Reduce transparency (you could add this if you want)
- Display Contrast: Left-most tick
- Pointer
- Pointer Size: 2nd tick from left
- Shake mouse pointer to locate
- Descriptions: Disabled
- Captions: Default
- Audio: None
- Keyboard: All disabled
- Mouse & Trackpad
- Spring-loaded delay: middle
- Switch Control: Default
- Dictation: None
OPTIONAL: Any application that you have pinned constantly should be converted to a native app
- https://github.com/jiahaog/nativefier
sudo npm install nativefier -g
- Applications +(Less tabs, more isolation), -(Links don't work)
- SoundCloud:
nativefier --name "SoundCloud" soundcloud.com
- Google Chat:
nativefier --name "Hangouts Chat" chat.google.com
- SoundCloud:
- in folders, right-click, View > as List
- Finder > Preferences
- Sidebar
- Favorites
- All My Files
- iCloud Drive
- AirDrop
- Applications
- Desktop
- Documents
- Downloads
- Movies
- Music
- Pictures
- granttimmerman
- Shared
- Back to My Mac
- Connected Servers
- Bonjour computers
- Devices
- Grant's MacBook Pro
- Hard disks
- External disks
- CDs, DVDs, and iPods
- Tags
- Recent tags
- Favorites
- Advanced
- Show all filename extensions
- Show warning before changing extension
- Show warning before emptying the Trash
- When performing a search: Search the Current Folder
- Sidebar
- Download my settings here: https://github.com/grant/iterm-profile
- Set as default iterm settings
- Setup https://github.com/romkatv/powerlevel10k
- Copy
.ssh
folder from this repo. - Generate a key and add it to GitHub:
-
ssh-keygen -t rsa -b 4096 -C "your-email@example.com" eval "$(ssh-agent -s)" /usr/bin/ssh-add -K ~/.ssh/id_rsa pbcopy < ~/.ssh/id_rsa.pub
- Use GitHub UI to add public key to GH
-
- iTerm - Terminal
- General
- Startup
- Use System Window Restoration Setting
- Closing
- Quit when all windows are closed
- Confirm closing multiple sessions
- Confirm "Quit iTerm2 (⌘Q)" command
- Magic
- Instant Replay uses [4] MB per session
- Save copy/paste and command history to disk
- Services
- Add Bonjour hosts to Profiles
- Check for updates automatically
- Prompt for test-release updates
- Preferences
- Load preferences from custom folder or URL
- Selection
- Copy to pasteboard on selection
- Copied text includes trailing newline
- Applications in terminal may access clipboard
- Window
- Smart window placement
- Adjust window when changing font size
- Zoom maximizes vertically only
- Native full screen windows
- tmux integration
- Open tmux windows as native windows
- ...
- Startup
- Appearance
- Tabs
- Tab bar location: Top
- Theme: Dark
- Show tab bar even when there is only one tab
- Show tab numbers
- Show tab close buttons
- Show activity indicator
- Show new-output indicator
- Show tab bar in fullscreen
- Panes
- Show per-pane title bar with split panes
- Screen
- Auto-hide menu bar in non-native fullscreen
- Window & Tab Titles
- Show window number
- Show current job name
- Show profile name
- Dimming
- Dimming affects only text, not background.
- Dimming amount: 1/4 Minimal
- Dim inactive split panes
- Dim background windows
- Window
- Show border around window
- Hide scrollbars
- Disable transparency for fullscreen windows by default
- Tabs
- Profiles
- General
- Basics
- Name: ?
- Command
- Login shell
- Working Directory
- Reuse previous session's directory
- Basics
- Colors
- Use the defaults for everything besides the following
- Selection: ff8000
- Minimum contrast: min
- Text
- Cursor
- Vertical bar
- Blinking cursor
- Text Rendering
- Draw bold text in bold font
- Draw bold text in bright colors
- Blinking text allowed
- Italic text allowed
- Defaults for other things
- Cursor
- Window
- Transparency: 1/4 from left
- Blur: 1/2 from left
- Defaults for everything else
- Scroll
- Scrollback Lines: 50000
- Defaults for everything else
- Session, Keys, Advanced
- Defaults
- General
- Preferences
- Terminal
- Shell Integration
- Insert newline before start of a command prompt if needed
- Show mark indicators
- Shell Integration
- Terminal
- General
- Log in to Chrome profile
- Chrome Extensions (chrome://extensions/)
- Adblock Plus
- Checker Plus for Gmail
- Checker Plus for Google Calendar
- GoFullPage - Full Page Screen Capture
- Hacker News Collapsible Comments
- JSON Formatter
- LastPass: Free Password Manager
- Refined GitHub
- Save as PDF
- Tab Pinner (Keyboard Shortcuts)
- Tab Size on GitHub
- Video Speed Controller
- WhatFont
- Open email in Gmail instead of Apple Mail
- Display density: compact
↔️ Moom - Window Management
- Screen Studio - Create HQ GIFs with smooth animations
- Giphy Capture - Create GIFs
- KeyCastr -
brew install --cask keycastr
- Screenshots:
- Open
screenshot.app
, options, save to~/screenshots
.
- Open
- Remove all but the following:
- Finder
- Chrome
- iTerm
- VS Code
- This will be cluttered, but uninstall anything not relevant.
- Put all pre-installed apps in folders
-
Download personal dotfiles: https://github.com/grant/dotfiles
-
Download Homebrew:
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
git config --global user.name "YOUR NAME" git config --global user.email "YOUR EMAIL ADDRESS" git config --global pull.ff only git config --global push.default current git config --global help.autocorrect 1 git config --global --add --bool push.autoSetupRemote true
-
bat
:brew install bat
–cat
isbat
with syntax highlighting -
gh
:brew install gh
– GitHub CLI -
Setup OSX defaults
## All scripts not effective until Finder and Dock are restarted (see below) ## Speed up exposé animation defaults write com.apple.dock expose-animation-duration -float 0.1 && killall Dock ## Show hidden files in finder defaults write com.apple.finder AppleShowAllFiles -bool YES && killall Finder ## Disable animation for Get Info window defaults write com.apple.finder DisableAllAnimations -bool true ## No .DS_Store files defaults write com.apple.desktopservices DSDontWriteNetworkStores true # Disable "Last Login" touch .hushlogin ## !!! Commit changes by running the following killAll Finder && killAll Dock
- Node: https://nodejs.org/en/download/
- Golang: https://golang.org/dl/
- Java: https://www.oracle.com/java/technologies/javase-downloads.html
- .NET Core: https://dotnet.microsoft.com/download
- Python: Already preinstalled
- Ruby: Already preinstalled
- PHP:
brew install httpd php72
- Fira Code
brew tap homebrew/cask-fonts brew install font-fira-code
- MBP M* Pro
- 16GB+ RAM
- Flash storage
- Don't install anything else to increase performance.
- Dropbox
- Drive
- Adobe Suite (Photoshop, Acrobat, ...)
- GoToMeeting
- Keybase
- Kindle
- Dash
- Tableau
- No games. Use a different computer
- Steam
- Battle.net/Blizzard
- Wineskin
- Thalmic labs
- Use of anything related to iCloud.
- 📝 Sublime - Text editor
- 📝 Webstorm - Web IDE
- ⚡ Messenger
↔️ QuickSilver- 🐺 Firefox
- Flash Player
- IntelliJ
- http://gitup.co/
- Heroku Toolbelt (https://devcenter.heroku.com/articles/heroku-cli)