Files

68 lines
2.0 KiB
Nix
Raw Permalink Normal View History

{ 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'
'';
};
}