Home

Awesome

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.

MacOS & System

Installed apps

Adobe Creative Cloud

Pave partition

  1. restart with <kbd></kbd>+<kbd>R</kbd>
  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

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

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

Setup SSH

Configure Installed Apps

Additional downloads & installs: scripted-installs.zsh

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

Install custom fonts

Creative Cloud installs

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

Data Restore

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]