Jump to content

New Computer Runbook

From Archive
Revision as of 15:54, 31 May 2025 by Ejfox (talk | contribs) (Created page with "== New Machine Setup Runbook == ''Getting from zero to productive in <30 minutes'' === Phase 1: Essential Infrastructure (5 mins) === <pre> # Install Homebrew first /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" # Core terminal tools brew install git tmux zsh neovim ghostty # Modern CLI replacements brew install lsd bat btop dust duf </pre> === Phase 2: Dotfiles & Shell (5 mins) === <pre> # Clone and setup dotfiles gi...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

New Machine Setup Runbook

Getting from zero to productive in <30 minutes

Phase 1: Essential Infrastructure (5 mins)

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

# Core terminal tools
brew install git tmux zsh neovim ghostty

# Modern CLI replacements
brew install lsd bat btop dust duf

Phase 2: Dotfiles & Shell (5 mins)

# Clone and setup dotfiles
git clone https://github.com/ejfox/dotfiles.git ~/.dotfiles
cd ~/.dotfiles
./sync-dotfiles.sh

# Install Oh My Zsh + Powerlevel10k
sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k

# Restart terminal, run p10k configure, choose minimal options

Phase 3: Development Environment (10 mins)

# Node.js environment
brew install node npm
npm install -g canvas-sketch-cli things-cli

# Neovim setup (LazyVim auto-installs on first run)
nvim
# Let it install everything, then :q

# Git configuration
git config --global user.name "EJ Fox"
git config --global user.email "[email protected]"

Phase 4: Applications & Workflow (10 mins)

# Essential apps
brew install --cask termius obsidian things3
brew install --cask 1password firefox-developer-edition

# Development tools
brew install httpie jq gh copilot-cli

# Optional but nice
brew install --cask sketchybar rectangle raycast

Phase 5: Personal Integration (Variable)

API Keys & Secrets

  • Add OpenAI API key to `.zprofile` for LLM integration
  • Setup 1Password CLI: `brew install --cask 1password-cli`
  • Configure Things 3 and sync across devices
  • Setup GitHub CLI: `gh auth login`

Verification Checklist

  • [ ] `zen` command toggles minimal mode
  • [ ] Geometric symbols show in tmux status
  • [ ] AI greeting appears on terminal startup
  • [ ] `lsd`, `bat`, `btop` work with custom configs
  • [ ] Neovim loads with LazyVim + zen keybindings
  • [ ] Things CLI can create tasks: `things-cli add "Test task"`

Quick Wins

  • Terminal transparency - Ghostty should have blur/opacity
  • Tmux sessions - `tmux new -s main` for persistent session
  • Zen mode - `zen` toggles distraction-free mode everywhere
  • Personal APIs - Test with `curl https://ejfox.com/api/health`

Gotchas & Notes

  • Ghostty config may need manual tweaking for transparency
  • P10k prompt - Choose minimal options, avoid fancy icons
  • Things 3 sync requires manual setup across devices
  • LLM integration won't work until API key is configured
  • Canvas-sketch projects should go in `~/projects/sketches/`

Priority Order

  1. Must-have now: Terminal + shell + dotfiles + Neovim
  2. Need soon: Development tools + git setup
  3. Nice to have: Personal APIs + workflow integrations
  4. Can wait: Sketchybar + advanced customizations

Emergency Fallbacks

  • No Ghostty? Use built-in Terminal.app with tmux
  • No dotfiles sync? Manually copy `.zshrc`, `.tmux.conf`, `nvim/`
  • No internet? Basic vim + tmux will get you productive
  • API issues? Comment out LLM integration in `.startup.sh`