Conversation
Owner
jhwheeler
commented
Mar 13, 2026
- update dotfiles for Arch Linux / Hyprland desktop
- fix: remove macOS-specific paths and credential helper
- tmux: add session/window status bar and clean up status line
- tmux: remove unused spotify and battery plugins
- feat: SSH environment parity
- tmux: add continuum for auto-save/restore across reboots
- fix: force-link bashrc and add Go toolchain PATH on servers
- feat: improve bootstrap-remote and polish SSH environment
- feat: SSH-aware tmux prefix and theme for nested sessions
- feat: auto-clone nvim config on dotbot install
- fix: use prefix + hjkl for pane nav over SSH
- fix: close terminal on grouped session exit instead of mirroring
- fix: give each terminal its own tmux session to avoid mirroring
- feat: auto-install SCM Breeze on dotbot install
- test
Remove macOS-era configs (alacritty, brew, vim, vifm, zsh) and add current Hyprland stack: hypr, waybar, kitty, mako, swaylock, kmonad, starship, lazygit, and Claude Code hooks. Modernize shell configs to drop OS detection, use wl-copy/wl-paste, add NVM/gcloud/pipx/opencode to PATH, integrate starship prompt and atuin history, and add a CLAUDECODE early-return guard in bashrc. Rewrite install.conf.yaml and README for the new stack. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Replace hardcoded /Users/jackson paths in fzf.bash with $HOME, update gitconfig excludesfile to use ~/, and remove osxkeychain credential helper that doesn't exist on Linux. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Restore sessions list with labels and pipe separator on the left, custom window styling, and simplified status-right without battery. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Make the local shell environment reproducible on any remote server with a single bootstrap command, and fix local aliases that broke over SSH. Changes: - shell/common/env: use `command -v nvim` for EDITOR (works on remote); source ~/.shell/ssh when $SSH_CONNECTION is set - shell/common/aliases: guard pbcopy/pbpaste behind $WAYLAND_DISPLAY; guard cat=bat behind command -v bat; add `kitten ssh` alias (guarded) - shell/common/ssh (new): OSC52 pbcopy for clipboard-over-SSH, safe fallbacks for missing tools, unalias Hyprland-specific aliases - atuin/config.toml (new): auto_sync=false, enter_accept=true - install.conf.yaml: add ~/.shell/ssh, ~/.config/atuin symlinks + create dir - install-ssh.conf.yaml (new): SSH-safe dotbot config (no Wayland-specific tools — hypr, waybar, kitty, mako, swaylock, kmonad) - bin/bootstrap-remote.sh (new): idempotent one-command server bootstrap (packages → dotfiles → nvim AppImage → NormalNvim → starship → atuin → tpm) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Pairs with resurrect to persist session state (windows, panes, working dirs) every minute. On tmux server start after a reboot, sessions are automatically restored. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
setup.sh writes a regular ~/.bashrc before dotbot runs, which dotbot's relink skips silently. force: true replaces the file with a symlink so the dotfiles bashrc (with aliases, starship, atuin, etc.) actually loads. Add /usr/local/go/bin to PATH conditionally so the Go toolchain stays accessible after the dotfiles bashrc supersedes setup.sh's PATH export. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Fix nvim appimage URL (https, arch-aware download) - Add lazygit install to bootstrap-remote - Expand EDITOR assignment for clarity - Note pbpaste OSC52 limitation - Bump tmux continuum save interval to 15 min
Use C-a locally (Dracula purple/blue) and C-s over SSH (Catppuccin Mocha peach/yellow) so nested tmux sessions have distinct prefixes and visually distinct status bars. Add SSH label to remote status-right, disable XON/XOFF flow control for C-s, and auto-name SSH sessions as ssh-<hostname> with stale-client detach on reconnect.
Clone NormalNvim fork into ~/.config/nvim if not already present, so remote machines get the full nvim setup after running ./install.
Outer tmux intercepts C-h/j/k/l before they reach the inner session. Over SSH, bind pane navigation to prefix + h/j/k/l instead so C-s h/j/k/l works in nested tmux.
Set detach-on-destroy on per grouped session and use exec so the terminal closes cleanly rather than falling through to the base "default" session.
Replace grouped session approach with simple new-session per terminal. Each gets an auto-named independent session; prefix+s to switch between.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.