From e7e11c17b00134466745a217ea3195ea6ddc51a4 Mon Sep 17 00:00:00 2001 From: Emma Thorpe Date: Tue, 9 Jun 2026 20:49:36 +0100 Subject: [PATCH] feat(tmux): apply dotfiles tmux config From emmaisadev/dotfiles (tmux.conf): run a non-login shell (default-command), drop the stock %/" split keys (the s/v vim splits already come from reverseSplit), declare foot's terminal-features (RGB/sync/clipboard/title/ccolour/cstyle), and raise the scrollback to 500000. Alt-arrow pane nav and mouse were already present. Also drop a stale comment referencing the removed tty1 autostart. Co-Authored-By: Claude Opus 4.8 (1M context) --- lyrathorpe/home/shell.nix | 25 +++++++++++++++++++++---- 1 file changed, 21 insertions(+), 4 deletions(-) diff --git a/lyrathorpe/home/shell.nix b/lyrathorpe/home/shell.nix index 0403dc9..f9ce679 100644 --- a/lyrathorpe/home/shell.nix +++ b/lyrathorpe/home/shell.nix @@ -31,9 +31,7 @@ theme = "robbyrussell"; }; syntaxHighlighting.enable = true; - # Prefix the prompt with the hostname over SSH. The graphical autostart - # (exec sway on tty1) lives in ./desktop.nix so it never runs on headless - # hosts. + # Prefix the prompt with the hostname over SSH. initContent = lib.mkOrder 1500 '' if [ "$SSH_CLIENT" ] || [ "$SSH_TTY" ]; then export PS1="%M $PS1" @@ -50,14 +48,33 @@ terminal = "tmux-direct"; newSession = true; keyMode = "vi"; - historyLimit = 50000; + historyLimit = 500000; mouse = true; + # `reverseSplit = true` already binds s -> vertical and v -> horizontal + # split (the dotfiles' vim-style splits). extraConfig = '' + # Run a non-login shell in new panes/windows. + set -g default-command "''${SHELL}" + + # Drop the stock split keys in favour of the s/v binds above. + unbind % + unbind '"' + # Alt+Arrow pane navigation bind -n M-Left select-pane -L bind -n M-Right select-pane -R bind -n M-Up select-pane -U bind -n M-Down select-pane -D + + # Tell tmux which capabilities the foot terminal supports, so truecolor, + # synchronised output, the system clipboard (OSC 52), window titles and + # cursor styling all pass through. + set -as terminal-features ",foot*:RGB" + set -as terminal-features ",foot*:sync" + set -as terminal-features ",foot*:clipboard" + set -as terminal-features ",foot*:title" + set -as terminal-features ",foot*:ccolour" + set -as terminal-features ",foot*:cstyle" ''; }; }