68 lines
2.0 KiB
Nix
68 lines
2.0 KiB
Nix
{ config, lib, pkgs, ... }:
|
|
|
|
{
|
|
xdg.configFile.".tmux-setup" = {
|
|
source = ../../config/.tmux-setup;
|
|
executable = true;
|
|
};
|
|
|
|
programs.tmux = {
|
|
enable = true;
|
|
|
|
shell = "${pkgs.zsh}/bin/zsh";
|
|
terminal = "tmux-256color";
|
|
baseIndex = 1;
|
|
historyLimit = 50000;
|
|
mouse = false;
|
|
keyMode = "vi";
|
|
clock24 = true;
|
|
focusEvents = true;
|
|
|
|
extraConfig = ''
|
|
# Indexing
|
|
set -g pane-base-index 1
|
|
set -g renumber-windows on
|
|
|
|
# Terminal overrides
|
|
set -ga terminal-overrides ",*256col*:Tc"
|
|
|
|
# Pane borders
|
|
set -g pane-border-lines heavy
|
|
set -g pane-active-border-style fg=brightred
|
|
set -g pane-border-style fg=colour238
|
|
|
|
# Status bar
|
|
set -g status-interval 1
|
|
set -g status-position top
|
|
set -g status-justify left
|
|
set -g status-style bg=black,fg=brightwhite
|
|
set -g status-left "#[bg=colour236,fg=brightwhite]#{?session_path, #(basename #{session_path}) ,}"
|
|
set -g status-right "#[bg=colour236,fg=brightwhite] #H #[bg=colour235,fg=brightwhite] %H:%M:%S "
|
|
set -g status-left-length 100
|
|
set -g status-right-length 100
|
|
|
|
# Window styling
|
|
set -g window-status-format " #[fg=white]#I:#[fg=white]#W#{?window_flags,#F,} "
|
|
set -g window-status-current-format "#[bg=colour235,fg=brightred,bold] #I:#W#{?window_flags,#F,} "
|
|
set -g window-status-separator ""
|
|
|
|
# Message styling
|
|
set -g message-style bg=colour236,fg=brightwhite
|
|
set -g message-command-style bg=colour236,fg=brightwhite
|
|
|
|
# Mode styling
|
|
set -g mode-style bg=brightred,fg=black
|
|
set -g clock-mode-colour brightred
|
|
|
|
# Keybindings
|
|
bind y copy-mode
|
|
bind -r h select-pane -L
|
|
bind -r j select-pane -D
|
|
bind -r k select-pane -U
|
|
bind -r l select-pane -R
|
|
bind -r r source-file ~/.config/tmux/tmux.conf \; display-message "tmux.conf reloaded"
|
|
bind q display-popup -E -w 60% -h 60% -d '#{session_path}' 'nvim quicknote.md'
|
|
'';
|
|
};
|
|
}
|