31 lines
1.0 KiB
Nix
31 lines
1.0 KiB
Nix
{ pkgs, ... }: {
|
|
programs.tmux = {
|
|
enable = true;
|
|
plugins = with pkgs.tmuxPlugins; [ resurrect continuum ];
|
|
keyMode = "vi";
|
|
escapeTime = 500;
|
|
historyLimit = 50000;
|
|
newSession = true;
|
|
extraConfig = ''
|
|
# resurrect
|
|
set -g @resurrect-strategy-vim 'session'
|
|
set -g @resurrect-strategy-nvim 'session'
|
|
set -g @resurrect-capture-pane-contents 'on'
|
|
|
|
resurrect_dir="$HOME/.tmux/resurrect"
|
|
set -g @resurrect-dir $resurrect_dir
|
|
set -g @resurrect-hook-post-save-all 'target=$(readlink -f $resurrect_dir/last); sed "s| --cmd .*-vim-pack-dir||g; s|/etc/profiles/per-user/$USER/bin/||g; s|/home/$USER/.nix-profile/bin/||g" $target | sponge $target'
|
|
|
|
# continuum
|
|
set -g @continuum-restore 'on'
|
|
set -g @continuum-boot 'on'
|
|
set -g @continuum-save-interval '10'
|
|
|
|
bind-key -T copy-mode-vi v send-keys -X begin-selection
|
|
bind-key -T copy-mode-vi C-v send-keys -X rectangle-toggle
|
|
|
|
bind-key O select-pane -t :.-
|
|
'';
|
|
};
|
|
}
|