@@ -219,6 +219,46 @@ Located in `common/claude-code/`, this provides:
219219- ** Prompt** : Oh My Posh with custom theme
220220- ** Completions** : Carapace for 300+ CLI tools
221221
222+ ### Tmux Session Management
223+
224+ Located in ` common/tmux/ ` and ` common/tmuxinator/ ` :
225+
226+ - ** Tmux Plugin Manager (TPM)** : Manages plugins (resurrect, continuum, sessionx)
227+ - ** tmux-sessionx** : fzf-powered session switcher with zoxide integration
228+ - Keybinding: ` prefix + o ` opens fuzzy session picker
229+ - Integrated with zoxide for smart directory matching
230+ - Shows tmux sessions + zoxide directories + tmuxinator configs
231+ - ** Tmuxinator** : Project session manager with predefined layouts
232+ - Default session: config, homelab, kubestronaut windows
233+ - Pricelytics session: app and infra windows (separate session)
234+ - Layout: nvim left (70%), claude + terminal right stacked (60/40)
235+ - Aliases: ` mux ` , ` muxn ` , ` muxs ` , ` muxl `
236+ - Start with: ` muxs default ` or ` muxs pricelytics `
237+
238+ ### AeroSpace Window Management (macOS)
239+
240+ Located in ` systems/aarch64-darwin/aerospace/ ` :
241+
242+ - ** Tiling window manager** for macOS with workspace management
243+ - ** Sketchybar integration** : Clickable workspace buttons with opacity
244+ - ** Window rules** : Auto-assignment to workspaces via ` on-window-detected `
245+ - ** Important rule patterns** :
246+ - Multiple commands: ` move-node-to-workspace ` must be LAST (AeroSpace requirement)
247+ - Correct: ` run = ["layout floating", "move-node-to-workspace 5"] `
248+ - Incorrect: ` run = ["move-node-to-workspace 5", "layout floating"] ` (will error)
249+ - Match by title: ` if.window-title-regex-substring = "— 1Password$" `
250+ - Match by bundle ID: ` if.app-id = "com.1password.1password" `
251+ - System dialogs: ` if.app-id = "com.apple.LocalAuthentication.UIAgent" ` for Touch ID
252+ - ** Sketchybar workspace buttons** : Clickable via ` click_script="aerospace workspace $sid" `
253+
254+ ### Terminal & UI Theming
255+
256+ - ** Ghostty terminal** : 0.85 opacity for subtle transparency
257+ - ** Neovim** : Catppuccin Mocha theme with ` transparent_background = true `
258+ - ** Tmux** : Catppuccin Mocha status bar, custom 2-pane layout support
259+ - ** Sketchybar** : Catppuccin colors, dimmed inactive workspace indicators (` WHITE_DIMMED = 0x80ffffff ` )
260+ - ** Consistent theme** : Catppuccin Mocha across all tools (terminal, editor, tmux, fzf)
261+
222262### Version Management
223263
224264- ** Terraform** : Managed as regular nixpkgs in Linux configurations
@@ -489,3 +529,9 @@ The codebase implements defensive configuration:
489529 - ✅ Use ` xdg.configFile ` which resolves correctly on both platforms
490530 - macOS: ` ~/Library/Application Support/app/config.yml `
491531 - Linux: ` ~/.config/app/config.yml `
532+
533+ 7 . ** Tmux layout strings**
534+ - Tmux layout strings are terminal-size specific (e.g., ` 362x77 ` )
535+ - To capture current layout: ` tmux display-message -p '#{window_layout}' `
536+ - Layouts will adapt to different terminal sizes but proportions may vary
537+ - For tmuxinator, use captured layout strings from actual working layouts
0 commit comments