Jump to content

New Computer Runbook: Difference between revisions

From Archive
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..."
 
No edit summary
 
Line 1: Line 1:
== New Machine Setup Runbook ==
== New OS X Machine Setup Runbook ==


''Getting from zero to productive in <30 minutes''
''Getting from zero to productive in <30 minutes''
Line 46: Line 46:
=== Phase 4: Applications & Workflow (10 mins) ===
=== Phase 4: Applications & Workflow (10 mins) ===
<pre>
<pre>
# Essential apps
brew install --cask termius obsidian things3
brew install --cask 1password firefox-developer-edition
# Development tools
# Development tools
brew install httpie jq gh copilot-cli
brew install httpie jq gh copilot-cli


# Optional but nice
# Optional but nice
brew install --cask sketchybar rectangle raycast
brew install --cask sketchybar
</pre>
</pre>


Line 60: Line 56:


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


==== Verification Checklist ====
</pre>
* [ ] `zen` command toggles minimal mode
 
* [ ] Geometric symbols show in tmux status
---
* [ ] AI greeting appears on terminal startup 
 
* [ ] `lsd`, `bat`, `btop` work with custom configs
== Debian ThinkPad Setup ==
* [ ] Neovim loads with LazyVim + zen keybindings
 
* [ ] Things CLI can create tasks: `things-cli add "Test task"`
''From bare metal to tiling window manager paradise''
 
=== Phase 0: Creating Debian USB ===
<pre>
# 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
</pre>


=== Quick Wins ===
=== Phase 1: Base System Setup (15 mins) ===
* '''Terminal transparency''' - Ghostty should have blur/opacity
<pre>
* '''Tmux sessions''' - `tmux new -s main` for persistent session
# After Debian installation, update system
* '''Zen mode''' - `zen` toggles distraction-free mode everywhere
sudo apt update && sudo apt upgrade -y
* '''Personal APIs''' - Test with `curl https://ejfox.com/api/health`
 
# 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
</pre>
 
=== Phase 2: Hyprland Window Manager (20 mins) ===
<pre>
# 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
</pre>
 
=== Phase 3: Terminal & Development (10 mins) ===
<pre>
# 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
</pre>
 
=== Phase 4: Dotfiles & Configuration (5 mins) ===
<pre>
# 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
</pre>
 
=== Phase 5: ThinkPad Optimizations ===
<pre>
# 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
</pre>


=== 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 ===
=== Debian-Specific Gotchas ===
# '''Must-have now''': Terminal + shell + dotfiles + Neovim
* '''WiFi drivers''' - Use firmware ISO for ThinkPad compatibility
# '''Need soon''': Development tools + git setup
* '''Modern CLI tools''' - Many need cargo/rust compilation
# '''Nice to have''': Personal APIs + workflow integrations
* '''Hyprland''' - May need manual compilation on older Debian
# '''Can wait''': Sketchybar + advanced customizations
* '''Foot terminal''' - Lightweight replacement for terminal emulators
* '''Waybar''' - Configure with geometric symbols like tmux
* '''Power management''' - Install `tlp` for ThinkPad battery optimization


=== Emergency Fallbacks ===
=== Emergency Fallbacks ===
* '''No Ghostty?''' Use built-in Terminal.app with tmux
* '''No Hyprland?''' Use `i3` window manager instead
* '''No dotfiles sync?''' Manually copy `.zshrc`, `.tmux.conf`, `nvim/`
* '''No Wayland?''' Fall back to X11 with `i3` or `awesome`
* '''No internet?''' Basic vim + tmux will get you productive
* '''Compilation fails?''' Use older versions from apt repositories
* '''API issues?''' Comment out LLM integration in `.startup.sh`
* '''No GUI?''' tmux + terminal workflow still fully functional
</pre>
</pre>

Latest revision as of 16:00, 31 May 2025

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