• Skip to primary navigation
  • Skip to main content
Sal Ferrarello
  • About Sal Ferrarello
  • Speaking
  • Connect
    Mastodon GitHub Twitter (deprecated)
You are here: Home / Computing / Setting Up a New Mac

Setting Up a New Mac

Last updated on June 3, 2025 by Sal Ferrarello

I recently setup a new MacBook as my primary machine and I made these notes in the hope they will streamline the process for me in the future.

Fix Trackpad Direction

System Settings > Trackpad > Scroll & Zoom (tab)

Turn off Natural scrolling

Close System Preferences

Map Caps Lock to Esc

System Settings > Keyboard > Keyboard Shortcuts > Modified Keys

Change Caps Lock to Escape

Click Done

Disable Two Spaces Become Period

System Settings > Keyboard > Text Input > Input Sources > Edit...

Turn off Add period with double-space

Click Done

Install Brew

The brew website includes this command you can run to install.

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

Download and Install

Install Programs via Brew

brew install --cask 1password
brew install --cask wezterm
brew install --cask firefox
brew install --cask google-chrome
brew install --cask harvest
brew install --cask alfred
brew install --cask macvim
brew install --cask private-internet-access
brew install --cask iterm2
brew install --cask slack
brew install --cask zoom
brew install --cask dropbox
brew install --cask docker
brew install --cask spotify
brew install --cask screenflow
brew install --cask local
brew install --cask font-source-code-pro
brew install --cask tableplus

brew install git
brew install tmux
brew install neovim
brew install php
brew install vim
brew install gpg
brew install ripgrep
brew install gh
brew install svn
brew install jq
brew install fzf
brew install wp-cli

Alfred Setup

  • System Settings > Keyboard > Keyboard Shortcuts > Spotlight > Uncheck Show Spotlight search
  • System Settings > Keyboard > Keyboard Shortcuts > Spotlight > Uncheck Show Finder search window
  • Alfred > Preferences > General > Alfred Hot Key set to (Command + Space)
  • Alfred > Preferences > Features > File Search > Navigation > Check “Use ⏎ to open folders in Finder”
  • Alfred > Preferences > Features > Universal Actions > General > Selection Hotkey set to ⌥ ⌘ Space
  • Alfred > Preferences > Features > Snippets
    • Auto Expansion Options > Sounds > Uncheck both:
      • Play sound when expanding Snippet
      • Play sound when expanding Workflow Snippet Trigger
  • Alfred > Preferences > Features > System > Uncheck all but
    • Empty Trash
    • Lock

Alfred Snippets

  • salcode-emoji-1.1.0.alfredsnippets

Alfred Workflows

  • Alfred Jira Workflow

Install Harvest

See Harvest Mac App

Install NVM

See NVM Install & Update Script

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash

Install My Zsh Configuration

git clone git@github.com:salcode/salcode-zsh.git ~/salcode-zsh.git
echo 'source ~/salcode-zsh/zshrc' >> ~/.zshrc

from https://github.com/salcode/salcode-zsh

Install My Git Configuration

See salcode-git Installation

Install My Neovim Configuration

See salcode-nvim Installation

Chrome Extensions

  • 1Password extension (desktop app required)
  • uBlock origin
  • Privacy Badger
  • JSONView
  • ModHeader
  • Harvest Time Tracker

Change Default App Files Open with

.txt open with MacVim

See https://osxdaily.com/2011/02/01/change-default-app-file-opens-with-mac/

SSH Keys

Add SSH Keys

Copy config and desired keys from ~/.ssh/ on the old machine.

Generate new SSH Keys

Install Composer

Install Composer Locally

Get the commands to run from https://getcomposer.org/download/

This is the command that needed to be run at the time this was originally written but it is likely it has since been updated, get the latest from the URL.

e.g.

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('sha384', 'composer-setup.php') === '572cb359b56ad9ae52f9c23d29d4b19a040af10d6635642e646a7caa7b96de717ce683bd797a92ce99e5929cc51e7d5f') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"

Move Composer to be Run Globally

mv composer.phar /usr/local/bin/composer

Copy auth.json from old machine

Get ~/.composer/auth.json on old machine and copy to new machine.

Configure Tmux

Follow the instructions at https://github.com/salcode/ironcode-tmux, i.e.

git clone git@github.com:salcode/ironcode-tmux.git ~/ironcode-tmux
ln -sf ~/ironcode-tmux/tmux.conf ~/.tmux.conf
git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm
tmux source ~/.tmux.conf

Run tmux and then from within tmux hit

Ctrl + b, I

Install NVM

See https://github.com/nvm-sh/nvm#install–update-script

e.g. At the time of this writing, the instructions say

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh | bash
nvm install stable
nvm use stable

then set global default versions with

nvm alias default node

Finder Modifications

  • Add my home folder to favorites sidebar
  • View > Show Path Bar

Screenshots

  • How To Remove the Mac OS X Screenshot Delay
  • Mac Change Screenshot Location
  • Add screenshot directory to Favorites sidebar

Allow Dragging with Touchpad

System Settings > Accessibility > Motor > Pointer Control > Trackpad Options

Turn on Use trackpad for dragging

See Can’t Drag Files in Finder (Mac)

Dock

Remove as many items as possible.

System Settings > Desktop & Dock

  • Position on screen set Left
  • Automatically hide and show the Dock turn on
  • Show suggested and recent apps in Dock turn off
  • Size set to small

Battery

System Settings > Battery > Options > Slightly dim the display on battery` turn off

Lock Screen

System Settings > Lock Screen

  • Turn display off on battery when inactive set to 20 minutes
  • Turn display off on power adapter when inactive set to 20 minutes
  • Show message when locked turn on and set to Sal Ferrarello (@salcode)

Firewall

System Settings > Network > Firewall

Sal Ferrarello
Sal Ferrarello (@salcode)
Sal is a PHP and JavaScript developer with a focus on the WordPress platform. He is a conference speaker with a background including Piano Player, Radio DJ, Magician/Juggler, Beach Photographer, and High School Math Teacher. Sal can be found professionally at WebDevStudios, where he works as a principal engineer.

Filed Under: Computing, Dev Tips Tagged With: mac, tools

Reader Interactions

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Copyright © 2026 · Bootstrap4 Genesis on Genesis Framework · WordPress · Log in