Files
dotfiles/docs/QUICK_REFERENCE.md
2025-12-21 23:44:28 -05:00

9.0 KiB

Quick Reference

Fast lookup for common dotfiles commands and features.

🚀 Quick Start

git clone https://github.com/adlee-was-taken/dotfiles.git ~/.dotfiles
cd ~/.dotfiles
./install.sh --wizard

📋 Core Commands

Installation & Management

Command Purpose
./install.sh Standard install
./install.sh --wizard Interactive TUI wizard
./install.sh --skip-deps Reinstall without checking deps
./install.sh --uninstall Remove symlinks
dotfiles-doctor.sh Health check
dotfiles-doctor.sh --fix Auto-fix issues
dfd Alias for health check

Updates

Command Purpose
dotfiles-update.sh Update dotfiles
dotfiles-sync.sh Sync across machines
dfpush Push local changes
dfpull Pull remote changes
dfstatus Check sync status

Info

Command Purpose
dotfiles-version.sh Show version
dfv Alias for version

🎯 Command Palette

Trigger: Ctrl+Space or Ctrl+P

Searches: aliases, functions, recent commands, bookmarks, git commands, dotfiles scripts

Keybindings:

  • Enter - Execute
  • Ctrl+E - Edit before running
  • Ctrl+Y - Copy to clipboard

🔑 Password Manager (LastPass)

pw list                    # List all items
pw get github              # Get password
pw get github username     # Get specific field
pw otp github              # Get TOTP code
pw copy aws                # Copy to clipboard
pw search mail             # Search items
pwf                        # Fuzzy search + copy
pwof                       # Fuzzy search + copy OTP
pw lock                    # Logout

📁 Directory Bookmarks

bookmark <n> [path]       # Save bookmark (default: current dir)
bookmark list             # List all
bookmark delete <n>       # Delete
jump <n>                  # Go to bookmark
j                         # Fuzzy select

🔐 Secrets Vault

vault set KEY "value"     # Store (or prompt for value)
vault get KEY             # Retrieve
vault list                # List all keys
vault delete KEY          # Remove
vault shell               # Print as export statements
vault export backup.enc   # Backup
vault import backup.enc   # Restore

📊 Shell Analytics

dotfiles-stats.sh         # Full dashboard
dfstats                   # Alias for full
stats                     # Another alias
dotfiles-stats.sh --top 20 # Top 20 commands
dotfiles-stats.sh --suggest # Alias suggestions

📸 Snapper (Btrfs Snapshots)

snap-create "Description" # Create snapshot
snap-list                 # Show snapshots
snap-list 20              # Show last 20
snap-show 42              # Show details
snap-delete 42            # Delete
snap-check-limine         # Verify boot menu
snap-sync                 # Manual sync
snap-info                 # Detailed breakdown

🌐 SSH Management

ssh-save <n> <conn>       # Save profile
ssh-list                  # List profiles
ssh-connect <n>           # Connect (auto-tmux)
sshf                      # Fuzzy search + connect
ssh-delete <n>            # Delete
ssh-sync-dotfiles <n>     # Deploy dotfiles to remote
ssh-reconnect             # Quick reconnect

🎪 Tmux Workspace Manager

tw <n>                    # Quick attach/create
tw-create <n> [tmpl]     # Create with template
tw-list                   # List workspaces
tw-delete <n>             # Delete
tw-save <n>               # Save as template
tw-sync                   # Toggle pane sync
twf                       # Fuzzy select
tw-templates              # List available templates

Templates:

  • dev - vim (50%) + terminal (25%) + logs (25%)
  • ops - 4-pane monitoring grid
  • ssh-multi - 4 synchronized panes
  • debug - main (70%) + helper (30%)
  • full - Single fullscreen
  • review - Side-by-side comparison

Aliases (All Commands)

Alias Command Purpose
dfd dotfiles-doctor.sh Health check
dffix dotfiles-doctor.sh --fix Auto-fix
dfs dotfiles-sync.sh Sync
dfpush dotfiles-sync.sh --push Push
dfpull dotfiles-sync.sh --pull Pull
dfu dotfiles-update.sh Update
dfv dotfiles-version.sh Version
dfstats dotfiles-stats.sh Analytics
stats dotfiles-stats.sh Analytics
pw LastPass manager Password lookup
pwf LastPass fuzzy Fuzzy password
vault dotfiles-vault.sh Secrets
vls vault list List secrets
reload source ~/.zshrc Reload shell
j Fuzzy bookmark Jump to bookmark
tw Tmux workspace Quick workspace
twf Fuzzy tmux Fuzzy workspace
sshf Fuzzy SSH Fuzzy SSH connect

🎨 Customization

Main config file: ~/.dotfiles/dotfiles.conf

Machine-specific config: ~/.zshrc.local (not tracked)

Text snippets: ~/.dotfiles/espanso/match/personal.yml

Theme: ~/.dotfiles/zsh/themes/adlee.zsh-theme


📚 Common Tasks

Create Dev Project

tw-create myproject dev        # Create workspace
pw get github                  # Get credentials
git clone <repo>

Monitor Multiple Servers

ssh-save web1 user@web1.com
ssh-save web2 user@web2.com
tw-create monitoring ops       # 4-pane grid
ssh-connect web1               # In pane 1
ssh-connect web2               # In pane 2
tw-sync                        # Enable sync

System Backup Before Update

snap-create "Before pacman update"
sudo pacman -Syu
snap-create "After pacman update"

Recover Lost File

snap-list                      # Find relevant snapshot
snap-show 42                   # Check timestamp
sudo mount -t btrfs -o subvol=@/.snapshots/42/snapshot /dev/device /mnt/snap
cp /mnt/snap/path/to/file ~/
sudo umount /mnt/snap

Sync Dotfiles to Remote

ssh-save prod user@prod.com
ssh-sync-dotfiles prod

Fuzzy Find and Execute

Ctrl+Space                     # Open command palette
git                            # Type partial

🔧 Configuration Examples

Change Default Theme

Edit ~/.dotfiles/dotfiles.conf:

ZSH_THEME="adlee"             # Already default

Enable More Features

Edit ~/.dotfiles/dotfiles.conf:

INSTALL_NEOVIM="true"         # Auto-install neovim
INSTALL_FZF="true"            # Auto-install fzf
ENABLE_VAULT="true"           # Enable secrets

Add Custom Alias

Edit ~/.dotfiles/zsh/aliases.zsh:

alias projects='cd ~/projects'
alias k='kubectl'

Machine-Specific Config

Create ~/.zshrc.local:

export WORK_EMAIL="me@work.com"
alias vpn='wg-quick up work-vpn'

🆘 Troubleshooting

Health Check

dotfiles-doctor.sh
# or
dfd

Reset Zsh

./install.sh --skip-deps
source ~/.zshrc

Check Version

dotfiles-version.sh
# or
dfv

View Logs

dotfiles-doctor.sh --verbose

🎯 Zsh Keybindings

Key Action
Tab Autocomplete
Ctrl+Space Command palette
Ctrl+P Command palette (alt)
Ctrl+B, C New tmux window
Ctrl+B, D Detach tmux
Ctrl+L Clear screen
Ctrl+U Clear line
Ctrl+R Search history
Ctrl+A Start of line
Ctrl+E End of line

📦 System Requirements

  • OS: Arch Linux or CachyOS
  • Shell: Zsh (auto-installed)
  • Editor: Vim (required)
  • Optional: Neovim, LastPass CLI, fzf, bat, eza
  • Bootloader: Limine (for Snapper)

🔗 Important Paths

Path Purpose
~/.dotfiles Main dotfiles directory
~/.dotfiles/dotfiles.conf Main configuration
~/.dotfiles/zsh/functions/ Shell functions
~/.dotfiles/bin/ Utility scripts
~/.zshrc.local Machine-specific config
~/.dotfiles_backup_* Backup of original files
~/.ssh/config SSH profiles (generated)

📖 Full Documentation


💡 Tips

  1. Reload Shell - Changes to zsh config:

    reload
    # or
    source ~/.zshrc
    
  2. Test Commands - Before committing in tmux:

    command --help
    man command
    
  3. Fuzzy Everything - Most dotfiles tools work with fzf:

    pwf          # Fuzzy password
    sshf         # Fuzzy SSH
    twf          # Fuzzy tmux
    
  4. Check Health Regularly:

    dfd          # Weekly health check
    
  5. Keep Vault Safe:

    vault list
    vault export ~/backup.enc
    # Store backup.enc safely
    

Last Updated: 2025-12-21
Version: 3.0.0
Platform: Arch/CachyOS