Skip to content

Instantly share code, notes, and snippets.

@LeZuse
Last active January 15, 2024 14:40
Show Gist options
  • Star 8 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save LeZuse/94176bc8e4eecb58fa62 to your computer and use it in GitHub Desktop.
Save LeZuse/94176bc8e4eecb58fa62 to your computer and use it in GitHub Desktop.
macOS Machine Setup

Mac OS Dev Machine Setup

General

For latest settings refer to this comment

For previous settings check this Gist revisions

Remarks

  • always read and follow Homebrew formulae installation instructions
  • NEVER utilize prebundled binaries from Apple (ruby, python, postgres)
    • use virtual environments whenever possible (chruby, virtualenv, nvm, etc)

TODO

  • translate OS settings into defaults calls
  • save all dot files; see https://github.com/jansedivy/dotfiles
  • figure out how to backup a list of installed sw (for reference)
    • using Homebrew Cask?
    • Mac App store installs
@LeZuse
Copy link
Author

LeZuse commented Aug 13, 2019

@LeZuse
Copy link
Author

LeZuse commented Sep 5, 2019

@LeZuse
Copy link
Author

LeZuse commented Mar 6, 2020

@LeZuse
Copy link
Author

LeZuse commented Apr 3, 2020

@LeZuse
Copy link
Author

LeZuse commented Apr 17, 2020

@LeZuse
Copy link
Author

LeZuse commented Oct 24, 2020

Big Sur Beta Upgrade

iCloud login
Disable Siri

@LeZuse
Copy link
Author

LeZuse commented Oct 28, 2020

@LeZuse
Copy link
Author

LeZuse commented Nov 23, 2020

@LeZuse
Copy link
Author

LeZuse commented Nov 23, 2020

@LeZuse
Copy link
Author

LeZuse commented Apr 7, 2021

@LeZuse
Copy link
Author

LeZuse commented May 24, 2021

@LeZuse
Copy link
Author

LeZuse commented Jun 15, 2021

@LeZuse
Copy link
Author

LeZuse commented Apr 21, 2022

@LeZuse
Copy link
Author

LeZuse commented Mar 8, 2023

Ventura new install

Setup Touch ID
Change password
Dock icons

@LeZuse
Copy link
Author

LeZuse commented Mar 8, 2023

Kubernetes

  • brew install kubernetes-cli
  • brew cask install minikube
  • brew cask install virtualbox
    • needs root password
    • needs to allow kernel extension, so it fails the first time, just run it again after you enable
  • minikube start
    • it will download a lot of stuff taking some time ~15min in HubHub
  • brew install stern kubectx
  • nice terminal setup
  • minikube stop
    • don’t forget to stop the VM when you’re done working

@LeZuse
Copy link
Author

LeZuse commented Mar 9, 2023

M1 setup (old for reference)

  • preinstalled

    • MDM
    • carbon black
    • chrome
    • 1password
    • zoom
    • slack
  • initial install wizard

    • skip whatever is not important
      • apple id
  • install brew M1

    • in /opt/homebrew
  • 1password setup using emergency setup kit QR

    • plus browser extensions
  • github login

  • install git

  • copy ssh config

  • brew install node

  • npm install -g yarn

  • clone all work repositories

  • yarn/bundle/setup docker

  • install editor

    • brew install homebrew/cask/sumlime-text

@LeZuse
Copy link
Author

LeZuse commented Mar 9, 2023

@LeZuse
Copy link
Author

LeZuse commented Mar 9, 2023

nice, simple setup.sh & based on stow https://github.com/shakeelmohamed/stow-dotfiles

@LeZuse
Copy link
Author

LeZuse commented Mar 15, 2023

M2 Pro

  • Pair keyboard
  • Set my password
  • Displays arrangement, Menubar to external (make it main), Builtin display resolution: More space
  • Dock to the side (depending on where Mac is)
  • Dock > Magnification On (50%)
  • Desktop > Windows > Close windows when quitting an application Off
  • Desktop background > Use stacks
  • Set computer name (Zuse-XXX)
  • Customise Modifier key: Caps Lock = Control (both internal & external keyboards)
  • Left top hot corner = lock
  • Touch ID - setup both pointer fingers (don’t forget to name them)
  • Trackpad
    • Swipe between pages > Three Fingers
    • Click > Light
    • Silent clicking
    • Tap to click
    • App Expose > Down Three Fingers
  • Appearance > Show scroll bars when scrolling
  • Control Center > Clock options > Display time with seconds
  • Accessibility > Zoom > Use scroll gesture with modifier key (Control) to zoom
  • Keyboard
    • Text input > Turn off Correct spelling automatically, Turn off Capitalise words automatically
    • Keyboard navigation (Tab to focus controls)
    • Shortcuts -> Input sources -> Select previous source -> Alt + Space, Select next source -> Shift + Alt + Space
  • Sign in to Apple ID
    • HW security key needed
  • Set AirDrop discoverability to Everyone
  • Enable unlimited bash history to keep all commands since first boot
  • Install https://brew.sh
  • Create GitHub personal access token (with repo rights)
  • Clone homedir using HTTPS and access token git clone https://github.com/LeZuse/XXXXX.git ~/homedir
  • Double check contents of homedir/dotfiles/Brewfile* files
  • brew bundle --file=dotfiles/Brewfile.core
  • Follow all caveats: brew caveats `brew list`
  • Generate a new SSH key for all github connections github-keygen lezuse -d
  • Switch to iTerm
    • Settings > Profiles > Colors > Foreground > 190 green
    • General > Command > Custom shell > /opt/homebrew/bin/bash (path to brew installed bash)
  • Install & update MDM managed apps - Kandji Self Help app
    • 1Password, Zoom, Slack
  • Add 1Password Vaults using Setup Code from iPhone
    • Enable Apple Watch Unlock
  • Open installed apps and setup respectively
    • KeepingYouAwake -> Start at Login
    • MonitorControl -> Start at Login, disable Volume control
    • SoundSource -> Start at Login
    • Zoom -> Automatically join audio, Mute my mic when joining, Background blur, Always show meeting controls, Show meeting timers, Stop video and audio when display off, Stop my video when joining a meeting, Hide non-video participants, Always display participant name
  • Enable Safari Status bar
  • Safari > General > Safari opens with last session windows, Tabs > Compact, Always show titles, Advanced > Default encoding: Unicode, Show Develop menu
  • Finder > General > New Finder windows show > $HOME
  • brew bundle -v --file=dotfiles/Brewfile.dev
  • Open installed apps and setup respectively
    • Notion -> Dark theme
  • Update to latest Mac OS
  • Apple ID
    • iCloud Mail > Off
    • Calendar -> Off
  • Messages > Enable Messages in iCloud, Reachable at: all except work & apple custom domain test, Turn off Play sound effects
  • Calendar > Accounts > Add Google calendar account, Alerts > Google > Events > 5 min before, Advanced > Turn on timezone support, Delete default On My Mac Calendar, for each calendar > Get Info > Disable/Enable alerts & availability, General > Show 16 hours at a time, View > Show Declined Events
  • Mail > Accounts > Add Gmail account (work & personal), Viewing > Move discarded into > Archive, Show most recent at the top, Delete default On My Mac SentLater mailbox, General > New message notifications > VIPs
  • Open all iCloud apps, check synced data, setup
    • Photos, Passwords, Keychain, Contacts, Reminders, Notes, Safari (tabs & bookmarks), Stocks, Home, Wallet (add daily card)
  • Notes > Edit > Spelling > Turn on Correct spelling automatically
  • Touch ID > Unlock with Apple Watch
  • Notifications
    • Turn off badges: Mail
    • Turn off sound: Calendar
  • Screen time > Turn on
  • Dock
    • Pin Desktop folder (easy screenshot access)
  • brew bundle -v --file=dotfiles/Brewfile.misc
  • RescueTime > Turn off UI sounds
  • mkdir ~/Projects
  • Activity Monitor > Dock Icon > Show CPU History
  • Install SCM breeze https://github.com/scmbreeze/scm_breeze#installation

TODO

  • Login in Logi Options+ to sync settings
  • Symlink shell profile rc files (incl brew PATH)
  • Get back to all brew caveats
  • Apple ID with HW keys
  • Install 1Password for Safari - it actually works pretty well without it
  • Enter Sublime Text license from 1pass
  • Check for not installed apps in apps.txt, user_apps.txt, mas_apps.txt
  • https://github.com/dolmen/github-keygen
  • Remember password for SSH keys (Github etc)
  • Setup scm_breeze
  • Dock icons
  • Spotlight enabled folders
  • Menubar icons & apps
  • Add aliases to Mail accounts
  • Organize the UI of Mail app (favorites and header)
  • Finder sidebar Favorites
  • Figure out how to sync Sublime settings
  • Check why Keyboard Input Sources are not syncing over iCloud (US & Czech querty)
  • Control centre widgets
  • Set faster key repeat using defaults write
  • Convert all manual steps above into defaults write commands
  • Add czech qwerty layout

needs old Mac:

  • Figure out how to preserve Zoom settings
  • Figure out how to preserve Notifications settings

@LeZuse
Copy link
Author

LeZuse commented Mar 15, 2023

@LeZuse
Copy link
Author

LeZuse commented Mar 16, 2023

Spellcheck & correction settings
https://apple.stackexchange.com/a/411622/62041

@LeZuse
Copy link
Author

LeZuse commented Mar 29, 2023

Storing secrets securely
https://scriptingosx.com/2021/04/get-password-from-keychain-in-shell-scripts/
https://gist.github.com/willgarcia/7347306870779bfa664e - homebrew token needs no scopes, for private repos only repo

@LeZuse
Copy link
Author

LeZuse commented Apr 26, 2023

@LeZuse
Copy link
Author

LeZuse commented Apr 26, 2023

@LeZuse
Copy link
Author

LeZuse commented May 4, 2023

notification settings management
https://github.com/jacobsalmela/NCutil

@LeZuse
Copy link
Author

LeZuse commented May 4, 2023

@LeZuse
Copy link
Author

LeZuse commented May 9, 2023

@LeZuse
Copy link
Author

LeZuse commented Jun 12, 2023

@LeZuse
Copy link
Author

LeZuse commented Oct 24, 2023

MacOS Sonoma

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