aboutsummaryrefslogtreecommitdiffstats
path: root/modules/home/tmux.nix
blob: f084f3501811a676764aff992a4aeda1d45bfcbc (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
{ ... }:

{
  home.file.".tmux.conf".text = ''
    unbind r
    bind r source-file ~/.tmux.conf \; display-message "Config reloaded"

    set -g default-terminal "tmux-256color"
    set -ag terminal-overrides ",xterm-256color:RGB"

    set -g default-command "$SHELL -l"

    set -g prefix C-s

    set -g mouse on

    set -g base-index 1
    set-window-option -g mode-keys vi

    bind g new-window -c "#{pane_current_path}" -n "lazygit" lazygit

    bind f run-shell "tmux neww twm"
    bind F run-shell "tmux neww twm -l"
    bind s run-shell "tmux neww twm -e"  # i rebind the original `s` to `S` so I can still use it
    bind e run-shell "tmux switch -t $TWM_DEFAULT"  # i set TWM_DEFAULT in my shellrc, just a session that is always available as a scratch area

    set -g @plugin 'tmux-plugins/tpm'
    set -g @plugin 'christoomey/vim-tmux-navigator'
    set -g @plugin 'tmux-plugins/tmux-sensible'

    run '~/.tmux/plugins/tpm/tpm'
  '';
}