Skip to content

Instantly share code, notes, and snippets.

@alanzeino
Last active April 10, 2024 23:02
Show Gist options
  • Save alanzeino/42b6d983c7aa2f29d64ea2749621f7cf to your computer and use it in GitHub Desktop.
Save alanzeino/42b6d983c7aa2f29d64ea2749621f7cf to your computer and use it in GitHub Desktop.
New Mac Setup

All the stuff I do to set up a new Mac

Applications

  • 1Blocker
  • AirBuddy
  • Amphetamine
  • BlockBlock
  • DaisyDisk
  • Deliveries
  • Fantastical
  • HextEdit
  • iA Writer
  • iStat Menus
  • Jayson
  • Kaleidoscope
  • Little Snitch
  • Mimestream
  • PopClip
  • Reeder
  • San Fransymbols
  • Sensei
  • Speedtest
  • Spotify
  • Sublime Text
  • Sublime Merge
  • Suspicious Package
  • The Unarchiver (or Keka)
  • Unexpectedly
  • Xcode

Terminal

  • Install Homebrew
  • My dotfiles (follow zsh steps below)
  • My terminal theme

zsh

  1. Install oh-my-zsh, see 'Why oh-my-zsh?' below
  2. Download and install the Alan iMac Terminal theme from https://github.com/alanzeino/dotfiles/blob/master/terminal/Alan%20iMac.terminal
  3. Install Starship
  4. Setup Starship in ~/.zshrc
  5. Install the FiraCode Nerd Font for Starship from https://www.nerdfonts.com/ (FiraCodeNerdFontMono-Retina.ttf from 'FiraCode Nerd Font')
  6. Configure Terminal to use this Font
  7. Install zsh-autosuggestions https://github.com/zsh-users/zsh-autosuggestions/blob/master/INSTALL.md
  8. Configure zsh-autosuggestions in ~/.zshrc
  9. Configure Starship for larger git repos by following https://starship.rs/config/ and setting command_timeout to a higher value:
# for giant slow repos
command_timeout = 3000
  1. Disable the battery warning feature of starship in the same file:
[battery]
disabled = true
  1. Append this to ~/.zshrc

Xcode Preferences

  • Navigation -> Navigation -> Uses Primary Editor
  • General -> Check Continue building after errors
  • Behaviors -> Build -> Generates new issues -> Uncheck Show navigator Issues
  • Text Editing -> Display -> Check Line numbers
  • Text Editing -> Display -> Check Show code folding ribbon
  • Text Editing -> Indentation -> Check Indent switch/case labels in: Swift
  • Source Control -> Uncheck Add and remove files automatically
  • Source Control -> Uncheck Select files to commit automatically

Xcode Defaults

Enable the Index step in Report Navigator to debug indexing issues: defaults write com.apple.dt.Xcode IDEIndexShowLog YES

macOS Defaults

Hide the icons on my Desktop:

defaults write com.apple.finder CreateDesktop false
killall Finder

Set the Finder sidebar icon size to Small:

defaults write NSGlobalDomain NSTableViewDefaultSizeMode -int 2

'Jump to the spot that's clicked' in Scroll Bars:

defaults write NSGlobalDomain AppleScrollerPagingBehavior -int 1

Enable Text Selection in QuickLook previews:

defaults write com.apple.finder QLEnableTextSelection -bool TRUE

Disable auto–correction:

defaults write NSGlobalDomain NSAutomaticSpellingCorrectionEnabled -bool false

Default save location is Disk, not iCloud:

defaults write NSGlobalDomain NSDocumentSaveNewDocumentsToCloud -bool false

Always expand Save Panel by default:

defaults write NSGlobalDomain NSNavPanelExpandedStateForSaveMode -bool true

Tap to click in the trackpad:

defaults write com.apple.driver.AppleBluetoothMultitouch.trackpad Clicking -bool true
defaults write NSGlobalDomain com.apple.mouse.tapBehavior -int 1

Finder Show Status Bar:

defaults write com.apple.finder ShowStatusBar -bool true

Finder Show Path Bar:

defaults write com.apple.finder ShowPathbar -bool true

Finder Show Tab Bar:

Finder Menu -> View -> Show Tab Bar

Finder Search always searches current folder by default:

defaults write com.apple.finder FXDefaultSearchScope -string "SCcf"

Disable the warning when changing a file extension:

defaults write com.apple.finder FXEnableExtensionChangeWarning -bool false

Default Finder view is Column:

defaults write com.apple.Finder FXPreferredViewStyle clmv

Put Dock on the left:

defaults write com.apple.dock orientation -string left

Disable Dock magnification:

defaults write com.apple.dock magnification -bool false

Don't open files in Safari after downloading:

defaults write com.apple.Safari AutoOpenSafeDownloads -bool false

Show favorites bar in Safari by default:

defaults write com.apple.Safari ShowFavoritesBar -bool true

Show Develop menu in Safari:

defaults write com.apple.Safari IncludeDevelopMenu -bool true

Show status bar in Safari:

defaults write com.apple.Safari ShowOverlayStatusBar -bool true

Xcode Show Line Numbers:

defaults write com.apple.dt.Xcode DVTTextShowLineNumbers -bool true

Xcode Show Code Folding Ribbons:

defaults write com.apple.dt.Xcode DVTTextShowFoldingSidebar -bool true

Xcode Show Build Times in Toolbar:

defaults write com.apple.dt.Xcode ShowBuildOperationDuration -bool true

Don't load remote content in Mail by default:

defaults write com.apple.mail-shared DisableURLLoading -bool true

Always show Menu bar even in Full Screen:

defaults write NSGlobalDomain AppleMenuBarVisibleInFullscreen -int 1

Manual Settings

Uncheck 'Play user interface sound effects' in Sound

Uncheck 'Play feedback when volume is changed' in Sound

Lower 'Alert volume' to zero in Sound

Set 'Turn display off after' to ten minutes in Battery

Enable 'Secondary click' in Mouse

Uncheck 'Bookmarks & History' in Spotlight's Search Results

Uncheck 'Fonts' in Spotlight's Search Results

Uncheck 'Mail & Messages' in Spotlight's Search Results

Uncheck 'Movies' in Spotlight's Search Results

Uncheck 'Music' in Spotlight's Search Results

Settings -> Accessibility -> Display -> 'Show window title Icons'

Why oh-my-zsh?

For some reason having this installed gives better command completion in zsh when you type the first part of a command and then hit the up arrow key to get past commands starting with that first part

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment