42 lines
1 KiB
Nix
42 lines
1 KiB
Nix
{ lib, config, pkgs, ... }:
|
|
|
|
let
|
|
cfg = config.snowhawk.tmux;
|
|
in
|
|
{
|
|
options.snowhawk.tmux = {
|
|
enable = lib.mkEnableOption "tmux";
|
|
};
|
|
|
|
config = lib.mkIf cfg.enable {
|
|
programs.tmux = {
|
|
enable = true;
|
|
shell = "${pkgs.fish}/bin/fish";
|
|
mouse = true;
|
|
baseIndex = 1;
|
|
terminal = "screen-256color";
|
|
newSession = true;
|
|
|
|
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
|
|
|
|
bind '"' split-window -v -c "#{pane_current_path}"
|
|
bind % split-window -h -c "#{pane_current_path}"
|
|
|
|
bind-key -r f run-shell "tmux neww ~/.user/scripts/tmux-sessionizer"
|
|
'';
|
|
};
|
|
};
|
|
}
|