This commit is contained in:
2025-08-13 21:46:48 +02:00
commit c3e2e6509b
818 changed files with 54187 additions and 0 deletions

57
tmux/conf/binds.conf Normal file
View File

@@ -0,0 +1,57 @@
# Set new prefix (Alt+Space)
unbind C-b
set -g prefix M-Space
bind Space send-prefix
# Config reload
bind C-r source-file ~/.config/tmux/tmux.conf \; display-message "tmux.conf reloaded"
# Vim mode
setw -g mode-keys vi
set -g status-keys vi
bind 'v' copy-mode
bind -T copy-mode-vi v send -X begin-selection
bind -T copy-mode-vi y send-keys -X copy-pipe-and-cancel "wl-copy"
bind p paste-buffer
bind -T copy-mode-vi MouseDragEnd1Pane send-keys -X copy-pipe-and-cancel "wl-copy"
# Split windows
bind | split-window -hc "#{pane_current_path}"
bind-key "\\" split-window -fh -c "#{pane_current_path}"
bind - split-window -vc "#{pane_current_path}"
# Maintain the same path when creating a new window
bind c new-window -c "#{pane_current_path}"
bind-key C command-prompt -p "Enter window name:" "new-window -n '%%'"
# Move to the next and prev window
bind-key l next-window
bind-key h previous-window
bind-key -n C-M-l next-window
bind-key -n C-M-h previous-window
# Change window name
bind-key r command-prompt -I "#W" "rename-window '%%'"
bind-key R command-prompt -I "#W" "rename-session '%%'"
# Move to the next and prev session
bind j switch-client -n
bind k switch-client -p
# Close a window
bind-key Q kill-window
# Close a pane
bind-key q kill-pane
# Close a session
bind-key M-q kill-session
# Swap windows
bind -r "<" swap-window -d -t -1
bind -r ">" swap-window -d -t +1
# Projects
bind-key Enter popup -E -h 80% -w 80% "dev"

31
tmux/conf/options.conf Normal file
View File

@@ -0,0 +1,31 @@
# Enable mouse
set -g mouse on
# Theming and layout
set -g default-terminal "${TERM}"
set -g status-position top
set -as terminal-overrides ',*:Smulx=\E[4::%p1%dm'
set -as terminal-overrides ',*:Setulc=\E[58::2::%p1%{65536}%/%d::%p1%{256}%/%{255}%&%d::%p1%{255}%&%d%;m'
# Windows and panes
set -g base-index 1
setw -g pane-base-index 1
set-window-option -g pane-base-index 1
set-option -g renumber-windows 1
setw -g aggressive-resize on
# Shell
set-option -g default-shell $SHELL
set-option -g default-command $SHELL
# Environment
set-environment -g TMUX_DATA_DIR "${HOME}/.local/share/tmux"
# Ohers
set -g history-limit 100000
set-option -g lock-after-time 0
set -s escape-time 0
set -g set-titles on
set -g allow-passthrough on
set -ga update-environment TERM
set -ga update-environment TERM_PROGRAM

61
tmux/conf/plugins.conf Normal file
View File

@@ -0,0 +1,61 @@
# Plugins Declaration
set -g @plugin 'tmux-plugins/tpm'
set -g @plugin 'tmux-plugins/tmux-sensible'
set -g @plugin 'catppuccin/tmux#v0.3.0'
set -g @plugin 'omerxx/tmux-sessionx'
set -g @plugin 'wfxr/tmux-fzf-url'
set -g @plugin 'omerxx/tmux-floax'
set -g @plugin 'mrjones2014/smart-splits.nvim'
# Plugin Options
# Catppuccin
set -g @catppuccin_directory_text "#{pane_current_path}"
set -g @catppuccin_window_current_text "#{window_name}"
set -g @catppuccin_window_default_text "#{window_name}"
set -g @catppuccin_flavor 'macchiato'
set -g @catppuccin_window_left_separator "█"
set -g @catppuccin_window_right_separator "█"
set -g @catppuccin_window_number_position "right"
set -g @catppuccin_window_middle_separator " █"
set -g @catppuccin_window_default_fill "number"
set -g @catppuccin_window_current_background "#{thm_gray}"
set -g @catppuccin_status_modules_right "directory user host"
set -g @catppuccin_status_modules_left "session"
set -g @catppuccin_status_left_separator "█"
set -g @catppuccin_status_right_separator ""
set -g @catppuccin_status_fill "all"
set -g @catppuccin_status_connect_separator "yes"
# Sessionx
set -g @sessionx-bind 'space'
set -g @sessionx-filter-current 'true'
set -g @sessionx-preview-location 'top'
set -g @sessionx-preview-ratio '65%'
set -g @sessionx-window-height '80%'
set -g @sessionx-window-width '75%'
set -g @sessionx-tmuxinator-mode 'on'
set -g @sessionx-bind-window-mode 'alt-w'
set -g @sessionx-bind-tree-mode 'alt-t'
set -g @sessionx-bind-new-window 'alt-c'
set -g @sessionx-bind-rename-session 'alt-r'
set -g @sessionx-bind-kill-session 'alt-q'
set -g @sessionx-bind-configuration-path 'alt-e'
set -g @sessionx-bind-back 'alt-b'
set -g @sessionx-ls-command 'eza -a --icons --group-directories-first --color always'
set -g @sessionx-filtered-sessions 'scratch'
# fzf-url
set -g @fzf-url-bind 'u'
# Floax
set -g @floax-bind '-n M-p'
set -g @floax-border-color 'white'
set -g @floax-text-color 'white'
# smart-splits
set -g @smart-splits_resize_left_key 'C-left'
set -g @smart-splits_resize_down_key 'C-down'
set -g @smart-splits_resize_up_key 'C-up'
set -g @smart-splits_resize_right_key 'C-right'