{ lib, config, pkgs, ... }: let inherit (lib) getExe; cfg = config.snowhawk.tmux; macos = config.snowhawk.macos.enable; in { options.snowhawk.tmux = { enable = lib.mkEnableOption "tmux"; }; config = lib.mkIf cfg.enable { programs.tmux = { enable = true; shell = getExe (if macos then pkgs.zsh else pkgs.fish); # shell = if macos then "/bin/zsh" else (getExe pkgs.fish); # shell = getExe pkgs.fish; mouse = true; baseIndex = 1; terminal = "screen-256color"; newSession = true; escapeTime = 0; plugins = with pkgs; [ { plugin = tmuxPlugins.rose-pine; extraConfig = '' set -g @rose_pine_variant 'main' # Options are 'main', 'moon' or 'dawn' set -g @rose_pine_host 'on' set -g @rose_pine_date_time '%c' # %c is a good value but ''; } { plugin = tmuxPlugins.vim-tmux-navigator; } ]; extraConfig = '' set-option -g renumber-windows on set-option -g focus-events on set-option -g terminal-features 'alacritty:RGB' bind '"' split-window -v -c "#{pane_current_path}" bind % split-window -h -c "#{pane_current_path}" ''; }; programs.fish.shellAbbrs = { a = "tmux a"; }; }; }