summaryrefslogtreecommitdiff
path: root/home/tmux.nix
diff options
context:
space:
mode:
authorGrace Yoder <grace_yoder@outlook.com>2026-09-03 15:36:32 -0400
committerGrace Yoder <grace_yoder@outlook.com>2026-09-03 15:37:10 -0400
commit22b6712c240fea0643cfc01acfce1fda1f125b8a (patch)
treefb8ac2302793c76d3640aab7d3f74f7a57c01933 /home/tmux.nix
nix init
Diffstat (limited to 'home/tmux.nix')
-rw-r--r--home/tmux.nix48
1 files changed, 48 insertions, 0 deletions
diff --git a/home/tmux.nix b/home/tmux.nix
new file mode 100644
index 0000000..3c3a5d1
--- /dev/null
+++ b/home/tmux.nix
@@ -0,0 +1,48 @@
+{ pkgs, ... }:
+
+{
+ programs.tmux = {
+ enable = true;
+ mouse = true;
+ keyMode = "vi";
+ baseIndex = 1;
+ prefix = "C-\\";
+ terminal = "xterm-ghostty";
+ plugins = with pkgs.tmuxPlugins; [
+ sensible
+ yank
+ resurrect
+ continuum
+ {
+ plugin = rose-pine;
+ extraConfig = ''
+ set -g @rose_pine_variant 'main'
+ set -g @rose_pine_left_separator ' > '
+ set -g @rose_pine_right_separator '  '
+ set -g @rose_pine_field_separator ' | '
+ set -g @rose_pine_window_separator ':'
+ set -g @rose_pine_window_status_separator '  '
+ '';
+ }
+ ];
+ extraConfig = ''
+ set -g status-position top
+ set -g set-clipboard on
+ set -g set-titles on
+ set -g set-titles-string "#{session_name}"
+ setw -g pane-base-index 1
+ set -g allow-passthrough all
+ set -as terminal-features ",xterm-ghostty:hyperlinks"
+ set -ga terminal-overrides ",xterm-ghostty:Tc"
+
+ bind v split-window -h -c "#{pane_current_path}"
+ bind b split-window -v -c "#{pane_current_path}"
+ bind c new-window -c "#{pane_current_path}"
+ bind -n M-h select-pane -L
+ bind -n M-j select-pane -D
+ bind -n M-k select-pane -U
+ bind -n M-l select-pane -R
+ '';
+ };
+
+}