CR: dots-quantum tmux Package — Implementation

Stow Compatibility Audit

Comprehensive audit completed 2026-03-25.

Audit Results

Metric Result

Packages Ready

21 (all structurally correct)

Internal Conflicts

0

Conflicts with Optimus

0

Quantum Targets

135 unique files

Optimus Targets

244 unique files

Overlap

0 files

Implementation Steps

Pre-Implementation Checklist

# 1. Verify dots-quantum is up to date
cd ~/atelier/_projects/personal/dots-quantum
git pull

# 2. Verify dq-stow function exists
source ~/.zshrc
type dq-stow

# 3. List available packages
dq-list

# 4. Create backup directory
mkdir -p ~/dotfiles-backup-$(date +%Y%m%d)
BACKUP_DIR=~/dotfiles-backup-$(date +%Y%m%d)

Step 1: Backup Current State

# Save current symlink targets
ls -la ~/.config/ > $BACKUP_DIR/config-symlinks.txt
ls -la ~/.[a-z]* > $BACKUP_DIR/home-symlinks.txt 2>/dev/null

# Copy actual config files (not symlinks)
cp -L ~/.zshrc $BACKUP_DIR/zshrc.backup 2>/dev/null
cp -L ~/.bashrc $BACKUP_DIR/bashrc.backup 2>/dev/null
cp -L ~/.gitconfig $BACKUP_DIR/gitconfig.backup 2>/dev/null
# Shell configs
rm -f ~/.zshrc ~/.zshenv ~/.zprofile
rm -f ~/.bashrc ~/.bash_profile

# Git config
rm -f ~/.gitconfig

# Application configs (currently symlinked to optimus)
rm -f ~/.config/aerc
rm -f ~/.config/cava
rm -f ~/.config/chromium-flags.conf
rm -f ~/.config/eww
rm -f ~/.config/hypr
rm -f ~/.config/mimeapps.list
rm -f ~/.config/omp-theme.toml
rm -f ~/.config/powershell
rm -f ~/.config/zathura

# tmux (if migrating from tmux-config)
rm -f ~/.tmux.conf
rm -rf ~/.config/tmux
rm -rf ~/.config/tmuxinator

Step 3: Deploy dots-quantum Packages

# Dry-run first (verify no conflicts)
dq-stow -n bash zsh git

# Deploy shell & core
dq-stow bash zsh git vim bin

# Deploy terminal tools
dq-stow ghostty kitty btop fastfetch fd fzf ripgrep lazygit

# Deploy tmux
dq-stow tmux

# Deploy Hyprland desktop
dq-stow hyprland waybar wofi mako

# Deploy applications
dq-stow aerc zathura mimeapps cava eww chromium powershell

# Deploy theming
dq-stow oh-my-posh

# Deploy AI tools
dq-stow claude

Step 4: Post-Deployment Setup

# Install TPM for tmux (first time only)
if [[ ! -d ~/.config/tmux/plugins/tpm ]]; then
    git clone https://github.com/tmux-plugins/tpm ~/.config/tmux/plugins/tpm
fi

# Reload shell
exec zsh

# Verify symlinks point to quantum
ls -la ~/.zshrc
# Should show: .zshrc -> atelier/_projects/personal/dots-quantum/zsh/.zshrc

ls -la ~/.config/aerc
# Should show: aerc -> ../atelier/_projects/personal/dots-quantum/aerc/.config/aerc

Step 5: Verification

# Count quantum symlinks in .config
ls -la ~/.config/ | grep -c dots-quantum

# Test critical apps
aerc --help         # Email client
zathura --help      # PDF viewer
tmux -V             # Terminal multiplexer

# Test shell
echo $SHELL
which nvim

# In tmux: Install plugins
# prefix + I

Post-Change Validation

Run this comprehensive verification after migration:

echo "=== FULL VERIFICATION ==="

# Shell & Core
echo -e "\n--- Shell & Core ---"
ls -la ~/.zshrc ~/.bashrc ~/.gitconfig ~/.vimrc 2>&1 | grep -E "->|No such"

# Terminal tools
echo -e "\n--- Terminal Tools ---"
ghostty --version 2>/dev/null | head -1 || echo "ghostty: not in PATH"
kitty --version 2>/dev/null | head -1
btop --version 2>/dev/null | head -1
fastfetch --version 2>/dev/null | head -1
fd --version
fzf --version
rg --version | head -1
lazygit --version | head -1

# Hyprland desktop
echo -e "\n--- Hyprland Desktop ---"
ls ~/.config/hypr/hyprland.conf ~/.config/waybar/config \
   ~/.config/wofi/config ~/.config/mako/config 2>&1

# Applications
echo -e "\n--- Applications ---"
aerc --version | head -1
zathura --version | head -1
ls -la ~/.config/mimeapps.list ~/.config/cava/config \
   ~/.config/eww/eww.yuck ~/.config/chromium-flags.conf 2>&1
pwsh --version 2>/dev/null || echo "pwsh: not installed"

# Theming & AI
echo -e "\n--- Theming & AI ---"
oh-my-posh --version 2>/dev/null || echo "oh-my-posh: check shell prompt"
ls -la ~/.claude/CLAUDE.md ~/.claude/settings.json 2>&1

# tmux
echo -e "\n--- tmux ---"
tmux -V
ls ~/.config/tmux/tmux.conf 2>&1
ls ~/.config/tmuxinator/*.yml 2>/dev/null | wc -l | xargs -I{} echo "tmuxinator sessions: {}"

echo -e "\n=== QUANTUM SYMLINK COUNT ==="
echo "In ~/.config/: $(ls -la ~/.config/ | grep -c dots-quantum)"
echo "In ~/: $(ls -la ~/ | grep -c dots-quantum)"

Expected Results

Check Expected

Shell symlinks

4 (zshrc, bashrc, gitconfig, vimrc) → dots-quantum

~/.config symlinks

20+ → dots-quantum

~/ symlinks

15+ → dots-quantum

tmuxinator sessions

39-40 YAML files

All apps respond

Version output (no errors)

Functional Tests

# Test tmux launches
tmux new-session -d -s test && tmux kill-session -t test && echo "tmux: OK"

# Test PDF opens (requires PDF file)
# zathura /path/to/test.pdf

# Test email client config
aerc --help | head -1

# Test file associations
xdg-mime query default application/pdf  # Should show zathura

# Test Hyprland reload (if in Hyprland session)
# hyprctl reload