nixos/default: add my tmux config ;)
This commit is contained in:
parent
6a27d9b52c
commit
44aef90e3f
|
@ -76,5 +76,8 @@
|
|||
grep = "grep --color=always --exclude-dir=.git";
|
||||
};
|
||||
};
|
||||
|
||||
# tmux
|
||||
imports = [ ./files/tmux.nix ];
|
||||
}
|
||||
|
||||
|
|
|
@ -0,0 +1,113 @@
|
|||
{
|
||||
environment.etc."tmux.conf".text = ''
|
||||
# make tmux display things in 256 colors
|
||||
set -g default-terminal "screen-256color"
|
||||
|
||||
# set scrollback history to 10000 (10k)
|
||||
set -g history-limit 10000
|
||||
|
||||
# use send-prefix to pass C-a through to application
|
||||
bind C-a send-prefix
|
||||
|
||||
# shorten command delay
|
||||
set -sg escape-time 1
|
||||
|
||||
# set window and pane index to 1 (0 by default)
|
||||
set-option -g base-index 1
|
||||
setw -g pane-base-index 1
|
||||
|
||||
# reload ~/.tmux.conf using PREFIX r
|
||||
bind r source-file /etc/tmux.conf \; display "Reloaded!"
|
||||
|
||||
# use PREFIX | to split window horizontally and PREFIX - to split vertically
|
||||
bind | split-window -h
|
||||
bind - split-window -v
|
||||
|
||||
# Make the current window the first window
|
||||
bind T swap-window -t 1
|
||||
|
||||
# map Vi movement keys as pane movement keys
|
||||
bind h select-pane -L
|
||||
bind j select-pane -D
|
||||
bind k select-pane -U
|
||||
bind l select-pane -R
|
||||
|
||||
# and use C-h and C-l to cycle thru panes
|
||||
bind -r C-h select-window -t :-
|
||||
bind -r C-l select-window -t :+
|
||||
|
||||
# resize panes using PREFIX H, J, K, L
|
||||
bind H resize-pane -L 5
|
||||
bind J resize-pane -D 5
|
||||
bind K resize-pane -U 5
|
||||
bind L resize-pane -R 5
|
||||
|
||||
set -g mouse on
|
||||
|
||||
######################
|
||||
### DESIGN CHANGES ###
|
||||
######################
|
||||
|
||||
# panes
|
||||
set -g pane-border-style fg=black
|
||||
set -g pane-active-border-style fg=brightred
|
||||
|
||||
## Status bar design
|
||||
# status line
|
||||
##set -g status-utf8 on
|
||||
set -g status-justify left
|
||||
set -g status-style bg=default,fg=colour12
|
||||
set -g status-interval 2
|
||||
|
||||
# messaging
|
||||
set -g message-style fg=black,bg=yellow
|
||||
set -g message-command-style fg=blue,bg=black
|
||||
|
||||
#window mode
|
||||
setw -g mode-style bg=colour6,fg=colour0
|
||||
|
||||
# window status
|
||||
setw -g window-status-separator ""
|
||||
setw -g window-status-style bg=colour234,fg=colour7
|
||||
setw -g window-status-format "#[fg=colour234]#[fg=white,bold]#I#[nobold] #W #[reverse,fg=colour234]"
|
||||
setw -g window-status-current-style bg=colour240
|
||||
setw -g window-status-current-format "#[fg=colour234]#[fg=white,bold]#I#[nobold] #W #[reverse,fg=colour234]"
|
||||
|
||||
setw -g window-status-bell-style fg=black,bg=colour1,bold
|
||||
|
||||
|
||||
# loud or quiet?
|
||||
set-option -g visual-activity off
|
||||
set-option -g visual-bell off
|
||||
set-option -g visual-silence off
|
||||
set-window-option -g monitor-activity off
|
||||
set-option -g bell-action none
|
||||
|
||||
# The modes {
|
||||
setw -g clock-mode-colour colour135
|
||||
setw -g mode-style fg=colour196,bg=colour238,bold
|
||||
|
||||
# }
|
||||
# The panes {
|
||||
|
||||
set -g pane-border-style bg=colour235,fg=colour238
|
||||
set -g pane-active-border-style bg=colour236,fg=colour51
|
||||
|
||||
# }
|
||||
# The statusbar {
|
||||
|
||||
set -g status-position top
|
||||
set -g status-style bg=colour16,fg=colour137
|
||||
set -g status-left "#[bg=colour202,fg=colour15,bold]#h #[reverse,fg=colour12,nobold]#[reverse,bg=colour15] #S(#{session_attached}) #I-#P #[bg=colour232,noreverse,nobold]"
|
||||
set -g status-right "#[fg=colour14,nobold]#[reverse,bg=colour15] #{client_prefix} #[reverse,bg=colour13]#[noreverse,fg=colour15] %H:%M:%S"
|
||||
set -g status-right-length 30
|
||||
set -g status-left-length 26
|
||||
|
||||
# }
|
||||
# The messages {
|
||||
|
||||
set -g message-style fg=colour16,bg=colour202,bold
|
||||
|
||||
# }
|
||||
'';
|
||||
}
|
Loading…
Reference in New Issue