New Computer Runbook
Appearance
New OS X 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)
# Development tools brew install httpie jq gh copilot-cli # Optional but nice brew install --cask sketchybar
Phase 5: Personal Integration (Variable)
API Keys & Secrets
- Setup 1Password CLI: `brew install --cask 1password-cli`
- Setup GitHub CLI: `gh auth login`
---
Debian ThinkPad Setup
From bare metal to tiling window manager paradise
Phase 0: Creating Debian USB
# Download Debian ISO (non-free firmware version for ThinkPad wifi) wget https://cdimage.debian.org/images/unofficial/non-free/images-including-firmware/current/amd64/iso-cd/firmware-12.2.0-amd64-netinst.iso # Create bootable USB (replace /dev/sdX with your USB drive) sudo dd if=firmware-12.2.0-amd64-netinst.iso of=/dev/sdX bs=4M status=progress && sync # Or use Rufus on Windows / Balena Etcher on macOS
Phase 1: Base System Setup (15 mins)
# After Debian installation, update system sudo apt update && sudo apt upgrade -y # Essential packages sudo apt install -y curl wget git build-essential software-properties-common # Add non-free repos for additional drivers sudo apt install -y firmware-linux firmware-linux-nonfree # Modern shell sudo apt install -y zsh tmux chsh -s /usr/bin/zsh
Phase 2: Hyprland Window Manager (20 mins)
# Install Hyprland dependencies sudo apt install -y meson cmake ninja-build pkg-config libwayland-dev libxkbcommon-dev \ libpixman-1-dev libcairo2-dev libpango1.0-dev libgtk-3-dev \ libegl1-mesa-dev libgles2-mesa-dev libgbm-dev libinput-dev \ libxcb-xinerama0-dev libxcb-icccm4-dev libxcb-randr0-dev \ libxcb-composite0-dev libxcb-image0-dev libxcb-present-dev \ libxcb-glx0-dev libxrandr-dev # Install Hyprland (may need to compile from source) sudo apt install -y hyprland || { git clone --recursive https://github.com/hyprwm/Hyprland cd Hyprland make all && sudo make install } # Essential Wayland tools sudo apt install -y waybar wofi swaylock-effects swayidle wl-clipboard \ grim slurp mako-notifier foot brightnessctl playerctl
Phase 3: Terminal & Development (10 mins)
# Modern CLI tools (need to build some from source) sudo apt install -y ripgrep fd-find fzf htop neofetch # Install Rust for modern CLI tools curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh source ~/.cargo/env # Build modern CLI replacements cargo install lsd bat dust duf cargo install --git https://github.com/aristocratos/btop.git # Node.js via NodeSource curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash - sudo apt install -y nodejs # Neovim (latest version) sudo apt install -y ninja-build gettext cmake unzip curl git clone https://github.com/neovim/neovim cd neovim && make CMAKE_BUILD_TYPE=RelWithDebInfo sudo make install
Phase 4: Dotfiles & Configuration (5 mins)
# Clone dotfiles git clone https://github.com/ejfox/dotfiles.git ~/.dotfiles cd ~/.dotfiles # Create Hyprland-specific configs (if not in dotfiles yet) mkdir -p ~/.config/hypr ~/.config/waybar ~/.config/foot ~/.config/mako # 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 # Sync dotfiles ./sync-dotfiles.sh
Phase 5: ThinkPad Optimizations
# Power management sudo apt install -y tlp tlp-rdw sudo systemctl enable tlp # ThinkPad-specific tools sudo apt install -y thinkfan tp-smapi-dkms acpi-call-dkms # Fingerprint reader (if supported) sudo apt install -y fprintd libpam-fprintd # TrackPoint configuration echo 'options psmouse proto=imps' | sudo tee /etc/modprobe.d/trackpoint.conf
Debian-Specific Gotchas
- WiFi drivers - Use firmware ISO for ThinkPad compatibility
- Modern CLI tools - Many need cargo/rust compilation
- Hyprland - May need manual compilation on older Debian
- Foot terminal - Lightweight replacement for terminal emulators
- Waybar - Configure with geometric symbols like tmux
- Power management - Install `tlp` for ThinkPad battery optimization
Emergency Fallbacks
- No Hyprland? Use `i3` window manager instead
- No Wayland? Fall back to X11 with `i3` or `awesome`
- Compilation fails? Use older versions from apt repositories
- No GUI? tmux + terminal workflow still fully functional