add tmux module
This commit is contained in:
parent
ab1ad05d20
commit
be28f74cac
57
modules/shell/tmux.nix
Normal file
57
modules/shell/tmux.nix
Normal file
@ -0,0 +1,57 @@
|
|||||||
|
#
|
||||||
|
# Tmux
|
||||||
|
#
|
||||||
|
|
||||||
|
{ pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
programs = {
|
||||||
|
tmux = {
|
||||||
|
enable = true;
|
||||||
|
terminal = "xterm-256color";
|
||||||
|
newSession = true;
|
||||||
|
keyMode = "vi";
|
||||||
|
historyLimit = 10000;
|
||||||
|
clock24 = true;
|
||||||
|
shortcut = "h";
|
||||||
|
baseIndex = 1;
|
||||||
|
plugins = [ pkgs.tmuxPlugins.dracula ];
|
||||||
|
extraConfig = ''
|
||||||
|
set -g @dracula-plugins "cpu-usage ram-usage network-bandwidth time"
|
||||||
|
set -g mouse on
|
||||||
|
#set -g @dracula-show-powerline true
|
||||||
|
|
||||||
|
# More friendly split pane
|
||||||
|
bind-key s split-window -h
|
||||||
|
bind-key v split-window -v
|
||||||
|
unbind '"'
|
||||||
|
unbind '%'
|
||||||
|
|
||||||
|
# moving between windows with vim movement keys
|
||||||
|
bind m select-pane -L
|
||||||
|
bind n select-pane -D
|
||||||
|
bind e select-pane -U
|
||||||
|
bind i select-pane -R
|
||||||
|
|
||||||
|
# moving between windows with vim movement keys
|
||||||
|
bind -r C-m select-window -t :-
|
||||||
|
bind -r C-i select-window -t :+
|
||||||
|
|
||||||
|
# Vim style X clipboard integration↲
|
||||||
|
bind-key -T copy-mode-vi 'v' send -X begin-selection
|
||||||
|
bind-key -T copy-mode-vi 'y' send-keys -X copy-pipe-and-cancel "xsel -i -p && xsel -o -p | xsel -i -b"
|
||||||
|
bind-key P run "xsel -o | tmux load-buffer - ; tmux paste-buffer"
|
||||||
|
|
||||||
|
# resize panes with vim movement keys
|
||||||
|
bind -r M resize-pane -L 5
|
||||||
|
bind -r N resize-pane -D 5
|
||||||
|
bind -r E resize-pane -U 5
|
||||||
|
bind -r I resize-pane -R 5
|
||||||
|
|
||||||
|
# bindings for pane joining and breaking
|
||||||
|
bind < split-window -h \; choose-window 'kill-pane ; join-pane -hs %%'
|
||||||
|
bind > break-pane -d
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user