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
Step 2: Remove Optimus Symlinks
# 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