aboutsummaryrefslogtreecommitdiff
path: root/modules/programs/tmux.nix
blob: 41d6e22e73175b73f82bfc024b85a73ef6e337bb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
{
  config,
  username,
  lib,
  ...
}:

{
  options.nx.programs.tmux.enable = lib.mkEnableOption "Enable and configure Tmux";
  config = lib.mkIf config.nx.programs.tmux.enable {
    home-manager.users.${username} = {
      programs.tmux = {
        enable = true;
        extraConfig = ''
          set -g default-terminal "xterm-256color"

          unbind C-b
          set-option -g prefix C-a
          bind-key C-a send-prefix
          bind -n M-Left select-pane -L
          bind -n M-Right select-pane -R
          bind -n M-Up select-pane -U
          bind -n M-Down select-pane -D

          # style
          set -g status-position top
          set -g status-justify absolute-centre
          set -g status-style 'fg=color7 bg=default'
          set -g status-right ""
          # set -g status-right ' #(cd #{pane_current_path}; git rev-parse --abbrev-ref HEAD)'
          # set -g status-right ""
          set -g status-left '#S'
          set -g status-left-style 'fg=color8'
          set -g status-right-length 0
          set -g status-left-length 100
          setw -g window-status-current-style 'fg=colour6 bg=default bold'
          setw -g window-status-current-format '#I:#W '
          setw -g window-status-style 'fg=color8'

          set -g mouse on
        '';
      };
    };
  };
}