diff options
| author | Baitinq <[email protected]> | 2024-03-19 00:41:42 +0100 |
|---|---|---|
| committer | Baitinq <[email protected]> | 2024-03-19 00:41:42 +0100 |
| commit | 9a327f789c0d5ccd7bfdb38932cb87c24d58bd9a (patch) | |
| tree | 545d6ed8fa20e08f9b5a8d1bed2027836d965138 | |
| parent | Dotfiles: Nvim: Accept completions with enter or tab (diff) | |
| download | nixos-config-9a327f789c0d5ccd7bfdb38932cb87c24d58bd9a.tar.gz nixos-config-9a327f789c0d5ccd7bfdb38932cb87c24d58bd9a.tar.bz2 nixos-config-9a327f789c0d5ccd7bfdb38932cb87c24d58bd9a.zip | |
Hosts: Add tmux config
| -rw-r--r-- | dotfiles/tmux.conf | 52 | ||||
| -rw-r--r-- | hosts/configuration.nix | 6 | ||||
| -rw-r--r-- | hosts/home.nix | 1 |
3 files changed, 54 insertions, 5 deletions
diff --git a/dotfiles/tmux.conf b/dotfiles/tmux.conf new file mode 100644 index 0000000..d27c835 --- /dev/null +++ b/dotfiles/tmux.conf @@ -0,0 +1,52 @@ +set-option -sa terminal-overrides ",xterm*:Tc" +set -g mouse on + +unbind C-b +set -g prefix C-Space +bind C-Space send-prefix + +# Vim style pane selection +bind h select-pane -L +bind j select-pane -D +bind k select-pane -U +bind l select-pane -R + +# Start windows and panes at 1, not 0 +set -g base-index 1 +set -g pane-base-index 1 +set-window-option -g pane-base-index 1 +set-option -g renumber-windows on + +# Use Alt-arrow keys without prefix key to switch panes +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 + +# Shift arrow to switch windows +bind -n S-Left previous-window +bind -n S-Right next-window + +# Shift Alt vim keys to switch windows +bind -n M-H previous-window +bind -n M-L next-window + +set -g @catppuccin_flavour 'mocha' + +set -g @plugin 'tmux-plugins/tpm' +set -g @plugin 'tmux-plugins/tmux-sensible' +set -g @plugin 'christoomey/vim-tmux-navigator' +set -g @plugin 'dreamsofcode-io/catppuccin-tmux' +set -g @plugin 'tmux-plugins/tmux-yank' + +run '~/.tmux/plugins/tpm/tpm' + +# set vi-mode +set-window-option -g mode-keys vi +# keybindings +bind-key -T copy-mode-vi v send-keys -X begin-selection +bind-key -T copy-mode-vi C-v send-keys -X rectangle-toggle +bind-key -T copy-mode-vi y send-keys -X copy-selection-and-cancel + +bind '"' split-window -v -c "#{pane_current_path}" +bind % split-window -h -c "#{pane_current_path}" diff --git a/hosts/configuration.nix b/hosts/configuration.nix index e29eb8e..05871d9 100644 --- a/hosts/configuration.nix +++ b/hosts/configuration.nix @@ -108,6 +108,7 @@ wget gitFull git-crypt + tmux neovim htop pfetch @@ -174,11 +175,6 @@ enableAskPassword = false; }; - tmux = { - enable = true; - clock24 = true; - }; - light.enable = true; dconf.enable = true; diff --git a/hosts/home.nix b/hosts/home.nix index a242397..ee37634 100644 --- a/hosts/home.nix +++ b/hosts/home.nix @@ -361,6 +361,7 @@ }; xdg = { + configFile."tmux/tmux.conf".source = "${dotfiles}/tmux.conf"; configFile."nvim/".source = "${dotfiles}/nvim/"; configFile."sway/config".source = "${dotfiles}/sway_config"; configFile."river/".source = "${dotfiles}/river/"; |