dotfiles/nixos/tmux.nix
DannyDannyDanny e2819af7d0 🎨 remove blankline
2024-08-20 13:30:08 +00:00

56 lines
1.4 KiB
Nix

{ config, pkgs, ... }:
{
programs.tmux = {
enable = true;
clock24 = true;
extraConfig = ''
# remap prefix from ^+A to ^+B (for nested tmux sessions)
unbind C-b
set -g prefix M-f
bind M-f send-prefix
# nvim 'checkhealth' advice
set-option -g focus-events on
set-option -g default-terminal "screen-256color"
set-option -sa terminal-overrides ',xterm-256color:RGB'
# enable mouse support for switching panes/windows
# set -g mouse on
# extend history
set -g history-limit 100000
# set vi keybindings
setw -g mode-keys vi
bind -T copy-mode-vi Enter send-keys -X copy-pipe-and-cancel "xsel -i --clipboard"
# reduce escape time
set-option -sg escape-time 20
# pane movement shortcuts
bind h select-pane -L
bind j select-pane -D
bind k select-pane -U
bind l select-pane -R
# window selection
bind -r C-h select-window -t :-
bind -r C-l select-window -t :+
# Resize pane shortcuts
bind -r H resize-pane -L 10
bind -r J resize-pane -D 10
bind -r K resize-pane -U 10
bind -r L resize-pane -R 10
# split with dash and vbar
bind | split-window -h -c "#{pane_current_path}"
bind - split-window -v -c "#{pane_current_path}"
# server-tmux only:
# fix ssh agent when tmux is detached
# setenv -g SSH_AUTH_SOCK $HOME/.ssh/ssh_auth_sock
'';
};
}