{pkgs, ...}: let dreamsofcode-io-catppuccin-tmux = pkgs.tmuxPlugins.mkTmuxPlugin { pluginName = "catppuccin"; version = "unstable-2023-01-06"; src = pkgs.fetchFromGitHub { owner = "dreamsofcode-io"; repo = "catppuccin-tmux"; rev = "b4e0715356f820fc72ea8e8baf34f0f60e891718"; sha256 = "sha256-FJHM6LJkiAwxaLd5pnAoF3a7AE1ZqHWoCpUJE0ncCA8="; }; }; in { programs.tmux = { enable = true; shell = "${pkgs.zsh}/bin/zsh"; historyLimit = 100000; plugins = with pkgs; [ { plugin = dreamsofcode-io-catppuccin-tmux; extraConfig = ""; } tmuxPlugins.sensible tmuxPlugins.vim-tmux-navigator tmuxPlugins.yank ]; extraConfig = '' set-option -sa terminal-overrides ",xterm*:Tc" set -g mouse on set -g @catppuccin-flavor 'macchiato' set -g base-index 1 set -g pane-base-index 1 set-window-option -g pane-base-index 1 set-option -g renumber-windows on bind-key -T copy-mode-vi v send-keys -X begin-selection bind-key -T copy-mode-vi C-v send-keys -X rectangle-toggle bind-key -T copy-mode-vi y send-keys -X copy-selection-and-cancel bind '"' split-window -v -c "#{pane_current_path}" bind % split-window -v -c "#{pane_current_path}" unbind C-b set -g prefix C-Space bind C-Space send-prefix bind -n M-H previous-window bind -n M-L next-window ''; }; }