Skip to content
macOS Beta

Mac setup.

Open this on a fresh Mac and copy what you want — terminal, dev tools, local AI, an emulation stack, and the small utilities that make macOS feel like yours. Distilled from a build guide refined over years: opinionated, idempotent where it can be, and yours to edit.

01

Homebrew

The foundation everything else installs through.

Homebrew

package manager
brew.sh

The missing package manager for macOS. Run it once — every command below leans on it.

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

macOS defaults

Opinionated system tuning, set in one paste.

Sensible defaults

system

Finder extensions, path + status bars, list view, tap-to-click, three-finger drag, faster key repeat, and no Dock recents.

# Finder
defaults write NSGlobalDomain AppleShowAllExtensions -bool true
defaults write com.apple.finder ShowPathbar -bool true
defaults write com.apple.finder ShowStatusBar -bool true
defaults write com.apple.finder FXPreferredViewStyle -string "Nlsv"
# Trackpad
defaults write com.apple.driver.AppleBluetoothMultitouch.trackpad Clicking -bool true
defaults write com.apple.AppleMultitouchTrackpad TrackpadThreeFingerDrag -bool true
# Keyboard — faster key repeat
defaults write NSGlobalDomain KeyRepeat -int 2
defaults write NSGlobalDomain InitialKeyRepeat -int 15
# Dock
defaults write com.apple.dock show-recents -bool false
# Apply
killall Finder Dock

Opinionated — skim it before you run it. Re-running just re-sets the same values, so it is safe to repeat.

03

Core utilities

The small tools that make macOS feel like yours.

Core utilities

cask

One paste for the daily-driver utility layer.

brew install --cask monarch rectangle shottr ghostty dockdoor copyclip imageoptim
  • Monarch Launcher & command palette — bind to ⌘Space.
  • Rectangle Keyboard window snapping.
  • Shottr Screenshots & annotation.
  • Ghostty Primary terminal — configured in §08.
  • DockDoor Dock previews & window switching.
  • CopyClip Clipboard history, no subscription.
  • ImageOptim Lossless image compression before upload.

DockDoor needs Accessibility + Screen Recording permissions on first launch.

Command X

manual

Real ⌘X / ⌘V file moves in Finder. After installing, enable it under System Settings → Privacy & Security → Extensions → Finder.

Get it

Substage

manual

Natural-language shell for conversions, compression, batch ops, and archives. Always review the command it proposes before running it.

Get it
04

Applications

Creative, comms, and the privacy layer.

Desktop apps

cask

The everyday app set, in one command.

brew install --cask notion iina spotify chatgpt visual-studio-code pixelmator-pro protonvpn
  • Notion Notes & docs.
  • IINA Native media player.
  • Spotify Music.
  • ChatGPT Desktop assistant.
  • VS Code Editor.
  • Pixelmator Pro Image editing.
  • ProtonVPN Auto-connect on untrusted networks.

From the App Store

app store

Sign in and install the Apple creative apps.

  • GarageBand Music.
  • Keynote Slides.
  • iMovie Video.

Manual installs

manual

Grab these from their own sites.

  • Bambu Studio 3D-print slicer.
  • Wipr Content blocking.
  • Ulysses Long-form writing.
  • Claude Desktop assistant.
  • Folder Preview Finder folder thumbnails.
05

Browsers

One for reading, one for the web, one for AI.

Chrome

cask

Compatibility, web apps, and development.

brew install --cask google-chrome

Comet

manual

Perplexity's AI browser — research, summaries, comparisons, experimental workflows.

Get it

Safari

built-in

Already here. Personal browsing, reading, and the best battery life.

06

Developer & CLI

A modern terminal toolkit.

CLI toolkit

cli

The everyday command-line set, in one paste.

brew install git wget htop tree jq fd fzf ripgrep bat zoxide eza fastfetch
  • git · wget Version control & downloads.
  • fd · ripgrep · fzf Fast find, grep, and fuzzy search.
  • bat · eza Better cat & ls.
  • zoxide Smarter cd.
  • jq · tree · htop · fastfetch JSON, trees, processes, fetch.

Node.js

cli

Runtime plus a version manager.

brew install node nvm

Verify with `node -v` and `npm -v`.

07

Shell

Glyphs, aliases, and a fast prompt.

Nerd Font

cask

JetBrains Mono with icon glyphs — powers Ghostty and the prompt.

brew install --cask font-jetbrains-mono-nerd-font

zsh enhancements

config

Wire up zoxide + fzf and the eza / bat / fd aliases.

cat <<'EOF' >> ~/.zshrc

# magus.sh — shell enhancements
eval "$(zoxide init zsh)"
[ -f ~/.fzf.zsh ] && source ~/.fzf.zsh

alias ls="eza --icons --group-directories-first"
alias ll="eza -lh --icons"
alias cat="bat"
alias find="fd"
EOF
source ~/.zshrc

Appends to ~/.zshrc — run once.

08

Ghostty

Tokyo Night — the same palette as this site.

Ghostty config

config

Writes ~/.config/ghostty/config: JetBrains Mono, a bar cursor, subtle transparency, and the full Tokyo Night palette.

mkdir -p ~/.config/ghostty
cat <<'EOF' > ~/.config/ghostty/config
font-family = JetBrainsMono Nerd Font
font-size = 14
cursor-style = bar
window-padding-x = 10
window-padding-y = 10
background-opacity = 0.95
background = #1a1b26
foreground = #c0caf5
palette = 0=#15161e
palette = 1=#f7768e
palette = 2=#9ece6a
palette = 3=#e0af68
palette = 4=#7aa2f7
palette = 5=#bb9af7
palette = 6=#7dcfff
palette = 7=#a9b1d6
palette = 8=#414868
palette = 9=#f7768e
palette = 10=#9ece6a
palette = 11=#e0af68
palette = 12=#7aa2f7
palette = 13=#bb9af7
palette = 14=#7dcfff
palette = 15=#c0caf5
EOF

That background, #1a1b26, is magus.sh’s own Nightshade. Verify with `echo $TERM_PROGRAM` → ghostty.

09

Local AI

Private, offline models on your own machine.

Ollama

cask + cli
ollama.com

Local LLMs for coding assistants, offline AI, and private document analysis.

brew install ollama
brew install --cask ollama-app

Run a model

cli

Start the server and pull your first model.

ollama serve
ollama run llama3
10

Emulation

ES-DE front-end, RetroArch core, standalones for the rest.

Emulation stack

cask

The same stack that powers the Steam Deck side of magus.sh — one paste.

brew install --cask es-de retroarch dolphin pcsx2 duckstation ppsspp
  • ES-DE The front-end that ties it together.
  • RetroArch Most systems, one roof.
  • Dolphin GameCube & Wii.
  • PCSX2 PlayStation 2.
  • DuckStation PlayStation 1.
  • PPSSPP PSP.
11

Folder structure

Four folders, one rule each.

Home folders

shell

A place for everything, so nothing piles up on the Desktop.

mkdir -p ~/Projects ~/Media ~/Temp ~/Archive
  • Projects Active work.
  • Media Assets.
  • Temp Disposable — empty it weekly.
  • Archive Completed work.
12

Maintenance

A five-minute ritual, once a week.

Maintenance tools

cask + cli

Track updates everywhere and keep the disk tidy.

brew install --cask updatest && brew install mole
  • Updatest Updates across Homebrew, App Store, Sparkle, GitHub & Electron apps.
  • mole Mac maintenance & cleanup.

Weekly ritual

brew

Every Friday: run this, open Updatest, run mole, empty ~/Temp.

brew update && brew upgrade && brew cleanup