Skip to content

ohong/new-machine-setup

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

How I set up a new machine (README)

Motivation: The follow spec details how I set up a brand new macOS computer, for writing, software development, and everyday productivity. I maintain it to streamline the process each time I do it.

Last updated: 12 Nov 2024

Info

Changelog

Nov 2024

  • Added a changelog
  • Removed the screenshots, unnecessary
  • No longer using (remove from Brewfile):
    • Alfred, replaced by Raycast
    • Atom, replaced by VS Code & Cursor
    • Google Chrome, replaced by Arc browser
    • iTerm, replaced by Warp
    • Magnet, replaced by Raycast (Window Management)
    • Dropbox, just use the web interface, or Google Drive or iCloud storage
    • Fantastical, replaced by Notion Calendar
    • Spark, replaced by Superhuman
    • TunnelBear, replaced by NordVPN
  • Added new apps I use now under “Applications” & to the Brewfile
  • Removed step of adding brewup alias to my bash profile
  • Removed steps for installing Node JS, npm, Ruby, composer, virtual hosts. I just don’t use them enough to justify doing on every fresh setup.
  • Removed section on customising iTerm, I just use Warp now
  • Removed section on changing OS defaults from command line
  • Shortened section on SSH & combined it with GitHub set up
  • Added all Finder & System Settings changes

Applications

All via the Brewfile cask and mas commands.

Essential

  • Arc — web browser
  • Bear — Markdown notes
  • Notion — personal database / 2nd brain
  • 1Password — password manager
  • Raycast — launcher
  • Things 3 — task manager

Programming

  • Visual Studio Code
  • Cursor — AI code editor
  • Windsurf — another AI code editor
  • Linear — project management
  • Postman — API testing tool
  • Warp — Terminal replacement

Other

  • AppCleaner
  • Bartender 5 — menu bar organiser
  • CheatSheet
  • Clay
  • Cubby
  • DaisyDisk
  • Descript
  • Discord
  • Limitless
  • LINE
  • Logi Options+
  • Loom
  • MacWhisper
  • NordVPN
  • Notion Calendar
  • Numi
  • One Thing
  • Perplexity
  • Poe
  • Raindrop
  • Rewind
  • Rize — AI time tracking
  • RODE Connect
  • Screen Studio
  • Shortcat
  • Slack
  • Spotify
  • Streamlabs — Live streaming
  • Superhuman
  • Texts — Unified inbox for messages
  • Wispr Flow — Voice dictation
  • Zoom

Install via command line

Homebrew (macOS package manager)

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

Mac App Store (mas)

The Mac App Store command line interface, or mas-cli, will allow you to install from the App Store.

brew install mas

If you haven't already logged into the App Store, you can do so now.

Brewfile

Brewfile lists all the programs I want on my machine and install them in a bundle. It is in this repository.

Simply run this command to install the bundle:

brew bundle install

Alternatively, I can bundle install from a Brewfile hosted on my GitHub, without creating a local copy:

curl -fsSL https://raw.githubusercontent.com/ohong/new-machine-setup/blob/master/Brewfile | brew bundle --file=-

GitHub & SSH

Config - ~/.gitconfig

touch ~/.gitconfig

Here I'll input my name, email, GitHub username, some aliases to be able to type less and do more:

[user]
    name = First Last
    email = [email protected]
[github]
    user = username
[alias]
    a = add
    ca = commit -a
    cam = commit -am
    s = status
    pom = push origin master
    pog = push origin gh-pages
    puom = pull origin master
    puog = pull origin gh-pages
    cob = checkout -b

With the above aliases, I can run git s instead of git status, for example.

Change settings via command line

Hide all icons on desktop:

defaults write com.apple.finder CreateDesktop false;killall Finder

Remove Dock delays:

defaults write com.apple.dock autohide-delay -float 0; defaults write com.apple.dock autohide-time-modifier -int 0;killall Dock

Disable disk warnings:

sudo defaults write /Library/Preferences/SystemConfiguration/com.apple.DiskArbitration.diskarbitrationd.plist DADisableEjectNotification -bool YES && sudo pkill diskarbitrationd

Change screenshot default to JPG (smaller files vs. PNG):

defaults write com.apple.screencapture type jpg

Make hidden app icons transparent in Dock:

defaults write com.apple.Dock showhidden -bool TRUE && killall Dock

Sync app settings

  • Export the latest Raycast “Settings & Data”, then import into new machine.

Browser extensions

  • 1Password
  • uBlock Origin (N.B. no long compatible with Chromium after June 2025)
  • Archive Page
  • Raindrop.io

Finder

  • General -> Don’t show any items on the desktop, New Finder windows show: Documents, Sync Desktop & Documents folders
  • Sidebar: Show ohong (Home), Recents, Applications, Downloads, dev
  • Advanced -> When performing a search: Search the Current Folder
  • Change to List view
  • For each file, show: Name, Date Modified, Size, Kind
  • View -> Show Path Bar, Show Status Bar
  • Customise Toolbar: add Airdrop & Share
  • Make my own “Recents” folder: New Smart Folder -> Opened within last 7 days, NOT Applications

System Settings

Network

  • Set service order, prioritise Ethernet connection over WiFi
  • Firewall: ON

General

  • Switch to 24-hour time & show 24h time on Lock Screen
  • Open at Login:
    • Bartender 5
    • CheatSheet
    • Raycast
    • Rewind
    • Supercharge
    • Things Helper

Appearance

  • Show scroll bars: When scrolling
  • Click in the scroll bar to: Jump to the spot that’s clicked

Control Centre

  • Clean up, remove Spotlight Search et al.

Desktop & Dock

  • Make dock smaller, small magnification
  • Move to left of the screen
  • Minimise windows using Scale Effect
  • Minimise windows into application icon = ON
  • Automatically hide and show the Dock = ON
  • Show recent apps = OFF.
  • Tiled windows have margins = OFF
  • Default web browser = Arc
  • Hot corners:
    • Top-left (+ Cmd) = Lock Screen
    • Bottom-left (+ Cmd) = Notification Centre
    • Top-right = Desktop
    • Bottom-right = Mission Control

Displays�

  • More Space
  • Night Shift: Turn on from Sunset to Sunrise

Privacy & Security

  • FileVault: ON (makes sure SSD is securely encrypted)
  • Allow applications from: App Store and Known Developers

Login Password

  • Use Apple Watch to unlock

Keyboard

  • Fastest key repeat rate, shortest delay until repeat
  • Keyboard Shortcuts -> Spotlight -> Deselect shortcuts
  • Remap Modifier Keys:
    • Caps Lock = Escape
    • For external keyboards: swap Option <> Command
  • Text Input -> Edit: Turn OFF correct spelling, capitalise words, etc. Keep add full stop with double-space.

Mouse

  • Max pointer & scroll speeds
  • Side buttons to move between desktop
  • Wheel click = Cmd + W (close tab / window)
  • Scroll direction = Standard

Sandbox

What else am I missing?

  • Desktop wallpapers—How to make them sync across devices?
  • Brew packages I’m testing:
  • Apps testing: Supercharge, Windsurf (Cursor competitor)

About

This is how I set up a brand new machine, for software development and general productivity.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages