Skip to content

andrewconnell/osx-install

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MacOS Buildout

This repo acts as a log for my buildout of my laptop. As I add stuff or change settings, I log it here so pave & restores can go quickly in the future. Feel free to fork & customize to your liking.

More background info: BLOG: Rapid Complete Install / Reinstall OS X Like a Champ in Three-ish Hours

Before Paving, document current config

Do the following before paving the partition. This is to get the way I have things configured in the dock & menu bar back the way I want them.

  • Set up timestamped backup folder, {{PRIVATE_BACKUP}}, OneDrive to copy things

  • Screenshot all installed apps

  • Screenshot OneDrive sync'd doclib's from MS Teams & save => {{PRIVATE_BACKUP}}

  • XCOPY the following => {{PRIVATE_BACKUP}}

    NOTE: many of the hidden files & folders are copied as "dot-files"

    • ~/_play
    • ~/.gitconfig
    • ~/.gitmessage
    • ~/.npmrc
    • ~/.ssh
    • ~/.yarnrc
    • ~/.zsh
    • ~/.zprofile
    • ~/.zshenv
    • ~/.zshrc
    • ~/Movies
    • ~/voitanos-workspace
    • review other folders in the root
  • Dev

  • iStat Menu

    • backup settings => {{PRIVATE_BACKUP}}/iStat Menus Settings.ismp
  • Node

    • refresh NPM global package install list: ./scripts/npm-install-packages-lts-*.zsh

      npm list -g --depth=0
  • Copy virtual machines => external storage

  • Postman

    • export all collections & environments => {{PRIVATE_BACKUP}}/Postman-backup.zip
  • Screenflow

  • Stream Deck

    • export & save Stream Deck profiles => {{PRIVATE_BACKUP}}/Stream Deck - {{..}}.streamDeckProfilesBackup
  • Visual Studio Code

    • refresh installed extensions install list: ./scripts/vscode-ext-install.zsh

      code --list-extensions
    • backup snippets & user settings to {{PRIVATE_BACKUP}}/VisualStudioCode

      • user settings: ~/Library/Application Support/Code/User

MacOS & System

  • have a current Apple TimeMachine backup job finished

  • screenshots of Finder settings

  • screenshot MacOS dock

  • screenshot expanded Bartender MacOS Menu Bar

Installed apps

  • get list of all apps installed via Homebrew:

    brew leaves

Adobe Creative Cloud

Pave partition

  1. restart with +R
  2. go to Disk Utility
  3. select the main drive, then select Erase > Erase Volume Group
  4. create new ADFS volume
  5. install MacOS via internet

Install apps

The following installs & configuration should be done to setup automated installs.

If installing on Apple Silicon

Install Rosetta 2

sudo softwareupdate --install-rosetta

Homebrew & Homebrew Cask

Install Homebrew for automated installs & updates.

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

Tip

If get error about zsh compinit: insecure directories, run compaudit for list., first try to run the following to see if it fixes it:

chmod go-w '/opt/homebrew/share'
chmod -R go-w '/opt/homebrew/share/zsh'

... if the issue persists, do what it says:

$ compaudit

For the folder(s) returned, fix it with:

$ sudo chmod -R 755 {PATH}

Install fonts

curl -L https://raw.githubusercontent.com/andrewconnell/osx-install/master/scripts/core-fonts.zsh | zsh

Install & setup console

Installs ideal shell, prompt, and terminals

NOTE: Monitor the terminal for password prompts & errors/warnings.

  1. run following to install cores

    curl -L https://raw.githubusercontent.com/andrewconnell/osx-install/master/scripts/core-install.zsh | zsh
  2. copy the dotfiles & folders (overwriting existing) into home folder

  3. search for any {{{REPLACE_THIS}}} and replace with correct values

  4. setup SSH with 1Password for .gitconfig

  • 1Password > Settings > Developer & select all options

Install apps via Homebrew: homebrew-install-apps.zsh

Install apps using Homebrew.

NOTE: Monitor the terminal for password prompts & errors/warnings.

run following to install cores

curl -L https://raw.githubusercontent.com/andrewconnell/osx-install/master/scripts/homebrew-install-apps.zsh | zsh

Pay attention for extra installs & steps at the end.

Setup Warp theme

  • Copy Tailwind theme from ./dotfiles/.warp > ~/
  • Launch Warp & login
  • Settings > Appearance > Theme, select Dark
  • Find and select Tailwind

Install Mac App Store apps: macos-install.zsh

Install apps from the Apple App Store.

curl -L https://raw.githubusercontent.com/andrewconnell/osx-install/master/scripts/macos-install.zsh | zsh

Manual Installs

Configure apps

Three step process:

  1. Get OneDrive syncing to get access to backups, settings (in OneDrive), licenses & passwords in password manager
  2. Login, license, install, & configure remaining apps

Configure core apps to acquire backups, licenses & passwords

  • login to the following apps
    • Google Chrome
      • do this first & login to password manager to get licenses
    • OneDrive
      • do this to get sync running... contains backup files collected before pave
  • Visual Studio Code
    • install extensions collected before pave:

      curl -L https://raw.githubusercontent.com/andrewconnell/osx-install/master/scripts/vscode-ext-install.zsh | zsh
    • copy snippets & settings:

    • apply licenses to extensions Quokka & Wallaby

Setup SSH

  • setup SSH keys
    • copy backed up ./.ssh keys from {{PRIVATE_BACKUP}} => ./.ssh

    • configure SSH keys

      # set permission to make my keys private
      sudo chmod 400 ~/.ssh/id_rsa
      
      # configure 'config' folder permissions
      sudo chmod 600 ~/.ssh/config
      
      # add key to SSH agent
      #     + enter passphrase from password manager when prompted
      ssh-add ~/.ssh/id_rsa
      
      # add to keychain
      ssh-add -K

Configure Installed Apps

  • Alfred

    • Activate power pack within app settings
    • Preferences > Advanced: Syncing - set to ./{{PRIVATE-BACKUP}}/Alfred
  • Amphetamine

  • iStat Settings

  • Bartender

    • License & configure:

  • Control Center

    • Open & configure to launch at login
  • Divvy

  • Jump Desktop

    • import the machines from export before pave
  • Microsoft Outlook

    • Signature
      • get signatures from previous "sends"
  • Microsoft Teams

  • Parcel

  • Screenflow

    • license
    • create custom batch export profile
  • Slack

  • Steam

    • Launch & login
    • Disable auto login: Preferences > Interface > [uncheck] Run Steam with my computer starts
  • Stream Deck

    • restore profiles
    • install plugins from Stream Deck store:
      • Home Assistant
      • Phillips Hue
      • VLC

Additional downloads & installs: scripted-installs.zsh

curl -L https://raw.githubusercontent.com/andrewconnell/osx-install/master/scripts/scripted-installs.zsh | zsh

Install custom fonts

  • Open ~/Library/Fonts
  • For the following folders, select all fonts files, open in macOS' Font Book, & install them:
    • AC Handwriting
    • Omnes
    • Segoe UI MDL2

Creative Cloud installs

  • Install apps:
    • Acrobat DC
    • After Effects
    • Audition
    • Bridge
    • Illustrator
    • Media Encoder
    • Photoshop
    • Premiere Pro
  • Import settings from the pre-pave section above on Adobe CC apps
  • Manually install aescripts + aeplugins manager, login & install plugins

Install Node

Manage node installs using NVM... this lets me test different versions of node as well as avoid issue with having to use sudo when installing packages globally.

mkdir ~/.nvm

Install & configure Node LTS & stable versions

Caution

The following script doesn't work. Something is causing nvm to not be seen as a valid comment.

Instead, copy the blocks of code from the following installer script file and manually run in the console.

This script installs multiple Node versions:

curl -L https://raw.githubusercontent.com/andrewconnell/osx-install/master/scripts/node-install.zsh | zsh

Post installation & configuration checks

Update Homebrew, Homebrew Cask & purge installs

brew doctor
brew update
brew cleanup

Setup git

NOTE: This might already be done by copying the hidden ~./.gitconfig.

git config --global user.name "Andrew Connell"
git config --global user.email <insert primary email>
git config --global credential.helper osxkeychain
# set VSCode as commit message editor & merge tool
git config --global core.editor "code -w"
git config --global merge.tool code

MacOS Tweaks

  • Desktop (change these settings by right-click desktop & pick Show View Options)

  • System Preferences

    • Accessibility

    • Dock

      • settings: System Preferences > Dock

      • update dock to the backup image

    • General

    • Keyboard

      • Shortcuts - uncheck options for Spotlight, then manually setup activation keystroke for Alfred to CMD+SPACE

    • Mission Control

    • Internet Accounts

    • Printers

      • install / add printers
    • Security > Privacy

      • Activate & enable where necessary
    • Users & Groups / Login Items

Data Restore

  • Clone select repositories from github => ~/repos

Setup TimeMachine Backups

Run first backups.

Ongoing... HOWTO Keep Things Updated

to keep Homebrew installed things update, do this:

brew update           # download app updated formulas
brew outdated         # what's old?
brew upgrade          # upgrade everything locally
# list all brew casks installed & their versions
brew cask outdated
brew cask upgrade
# cleanup everything
brew cleanup

update MacOS apps:

mas outdated    # what's old
mas upgrade     # upgrade everything

update MacOS: ref

softwareupdate --list
# install things based on the name returned using
sudo softwareupdate --install [name listed]

About

My setup steps, scripts & settings for configuring my MacOS.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages