dotfiles/home/tmux/default.nix

57 lines
2.2 KiB
Nix

{ inputs, config, pkgs, ... }:
{
programs.tmux = {
shell = "${pkgs.zsh}/bin/zsh";
terminal = "tmux-256color";
enable = true;
clock24 = true;
shortcut = "a";
escapeTime = 0;
newSession = true;
mouse = true;
keyMode = "vi";
plugins = [
pkgs.tmuxPlugins.vim-tmux-navigator
pkgs.tmuxPlugins.better-mouse-mode
pkgs.tmuxPlugins.yank
{
plugin = pkgs.tmuxPlugins.catppuccin;
extraConfig = ''
set -g @catppuccin_window_current_color "#0F7FCF"
set -g @catppuccin_window_current_background "#1F2430"
set -g @catppuccin_window_default_color "#5a5d70"
set -g @catppuccin_window_default_background "#181825"
set -g @catppuccin_pane_border_style "fg=#181825"
set -g @catppuccin_pane_active_border_style "fg=#023269"
set -g @catppuccin_status_background "default"
set -g @catppuccin_window_default_text "#W"
set -g @catppuccin_window_current_text "#W"
set -g @catppuccin_status_modules_right "directory"
set -g @catppuccin_window_left_separator ""
set -g @catppuccin_window_right_separator " "
set -g @catppuccin_directory_color "#0F7FCF"
set -g @catppuccin_date_time_text "%Y-%m-%d %H:%M:%S"
set -g @catppuccin_menu_selected_style "fg=#{thm_gray},bg=#0F7FCF"
'';
}
];
extraConfig = ''
set -ag terminal-overrides ",xterm-256color:RGB"
set-window-option -g mode-keys vi
bind-key -T copy-mode-vi 'v' send -X begin-selection
bind-key -T copy-mode-vi 'y' send -X copy-selection
bind | split-window -h -c "#{pane_current_path}"
bind - split-window -v -c "#{pane_current_path}"
bind c new-window -c "#{pane_current_path}"
unbind '"'
unbind %
set -g base-index 1
setw -g pane-base-index 1
'';
};
}