{ 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
            set-option -g renumber-windows on
        '';
    };
}