grace/dots

dotfiles/nix configs

git clone https://git.gae.moe/grace/dots

Grace Yoderhx and vcs changesddf0c79

wafrn-testing
1.5 KiB54 linesraw
1{ pkgs, ... }:
2
3{
4  programs.tmux = {
5    enable = true;
6    mouse = true;
7    keyMode = "vi";
8    baseIndex = 1;
9    prefix = "C-b";
10    terminal = "xterm-ghostty";
11    plugins = with pkgs.tmuxPlugins; [
12      sensible
13      yank
14      resurrect
15      continuum
16      {
17        plugin = rose-pine;
18        extraConfig = ''
19          set -g @rose_pine_variant 'main'
20          set -g @rose_pine_left_separator ' > '
21          set -g @rose_pine_right_separator '  '
22          set -g @rose_pine_field_separator ' | '
23          set -g @rose_pine_window_separator ':'
24          set -g @rose_pine_window_status_separator '  '
25        '';
26      }
27    ];
28    extraConfig = ''
29      set -g status-position top
30      set -s set-clipboard on
31      set -s get-clipboard both
32      set -g set-titles on
33      set -g set-titles-string "#{session_name}"
34      setw -g pane-base-index 1
35      set -g allow-passthrough all
36      set -as terminal-features ",xterm-ghostty:hyperlinks"
37      set -ga terminal-overrides ",xterm-ghostty:Tc"
38
39      unbind C-b
40      set -g prefix C-\\
41      bind -N "Send the prefix key through to the application" C-\\ send-prefix
42      bind -N "Refresh system clipboard via OSC 52" Y refresh-client -l
43
44      bind v split-window -h -c "#{pane_current_path}"
45      bind b split-window -v -c "#{pane_current_path}"
46      bind c new-window -c "#{pane_current_path}"
47      bind -n M-h select-pane -L
48      bind -n M-j select-pane -D
49      bind -n M-k select-pane -U
50      bind -n M-l select-pane -R
51    '';
52  };
53
54}