Added tmuxinator and other tmux plugins

This commit is contained in:
2025-09-14 11:42:35 -04:00
parent 9fe6d7b62d
commit d9fd53fbc3
11 changed files with 308 additions and 31 deletions

View File

@@ -0,0 +1,58 @@
# /home/th3r00t/.config/tmuxinator/CloudyDeep.yml
name: CloudyDeep
root: ~/Projects/cloudydeep/
# Optional tmux socket
# socket_name: foo
# Note that the pre and post options have been deprecated and will be replaced by
# project hooks.
# Project hooks
# Runs on project start, always
# on_project_start: command
# Run on project start, the first time
# on_project_first_start: command
# Run on project start, after the first time
# on_project_restart: command
# Run on project exit ( detaching from tmux session )
# on_project_exit: command
# Run on project stop
# on_project_stop: command
# Runs in each window and pane before window/pane specific commands. Useful for setting up interpreter versions.
# pre_window: rbenv shell 2.0.0-p247
# Pass command line options to tmux. Useful for specifying a different tmux.conf.
# tmux_options: -f ~/.tmux.mac.conf
# Change the command to call tmux. This can be used by derivatives/wrappers like byobu.
# tmux_command: byobu
# Specifies (by name or index) which window will be selected on project startup. If not set, the first window is used.
startup_window: Backend
# Specifies (by index) which pane of the specified window will be selected on project startup. If not set, the first pane is used.
# startup_pane: 1
# Controls whether the tmux session should be attached to automatically. Defaults to true.
# attach: false
enable_pane_titles: true
windows:
- Backend:
layout: 5c3f,189x62,0,0[189x46,0,0,6,189x15,0,47,7]
panes:
- nvim
- inotify_test_pytest.sh
- Frontend:
root: ~/Projects/cloudydeep/src/frontend/
layout: 5c3f,189x62,0,0[189x46,0,0,6,189x15,0,47,7]
panes:
- nvim
- cowsay "bun run something here 🍔"

View File

@@ -0,0 +1,56 @@
# /home/th3r00t/.config/tmuxinator/Development.yml
name: Development
root: ~/Projects/
# Optional tmux socket
# socket_name: foo
# Note that the pre and post options have been deprecated and will be replaced by
# project hooks.
# Project hooks
# Runs on project start, always
# on_project_start: command
# Run on project start, the first time
# on_project_first_start: command
# Run on project start, after the first time
# on_project_restart: command
# Run on project exit ( detaching from tmux session )
# on_project_exit: command
# Run on project stop
# on_project_stop: command
# Runs in each window and pane before window/pane specific commands. Useful for setting up interpreter versions.
# pre_window: rbenv shell 2.0.0-p247
# Pass command line options to tmux. Useful for specifying a different tmux.conf.
# tmux_options: -f ~/.tmux.mac.conf
# Change the command to call tmux. This can be used by derivatives/wrappers like byobu.
# tmux_command: byobu
# Specifies (by name or index) which window will be selected on project startup. If not set, the first window is used.
startup_window: Editor
# Specifies (by index) which pane of the specified window will be selected on project startup. If not set, the first pane is used.
# startup_pane: 1
# Controls whether the tmux session should be attached to automatically. Defaults to true.
# attach: false
enable_pane_titles: true
windows:
- Editor:
panes:
- nvim
- Debugger:
panes:
- clear;fastfetch;misfortune|cowsay|lolcat
- Testing:
panes:
- clear;fastfetch;misfortune|cowsay|lolcat

View File

@@ -0,0 +1,36 @@
# /home/th3r00t/.config/tmuxinator/Dotfiles.yml
name: Nixos
root: /etc/nixos/
# Optional tmux socket
# socket_name: foo
# Runs on project start, always
on_project_start: export BROWSER=w3m
# Run on project start, the first time
# on_project_first_start: command
# Run on project start, after the first time
# on_project_restart: command
# Run on project exit ( detaching from tmux session )
# on_project_exit: command
# Run on project stop
# on_project_stop: command
# Specifies (by name or index) which window will be selected on project startup. If not set, the first window is used.
startup_window: Editor
# Specifies (by index) which pane of the specified window will be selected on project startup. If not set, the first pane is used.
# startup_pane: 1
# Controls whether the tmux session should be attached to automatically. Defaults to true.
# attach: false
enable_pane_titles: true
windows:
- Git:
- lazygit
- Editor:
- nvim

View File

@@ -0,0 +1,42 @@
# /home/th3r00t/.config/tmuxinator/Dashboard.yml
name: Dashboard
root: ~/
# Optional tmux socket
# socket_name: foo
# Runs on project start, always
# on_project_start: export BROWSER=qutebrowser
# Run on project start, the first time
# on_project_first_start: command
# Run on project start, after the first time
# on_project_restart: command
# Run on project exit ( detaching from tmux session )
# on_project_exit: command
# Run on project stop
# on_project_stop: command
# Specifies (by name or index) which window will be selected on project startup. If not set, the first window is used.
startup_window: Dash
# Specifies (by index) which pane of the specified window will be selected on project startup. If not set, the first pane is used.
# startup_pane: 1
# Controls whether the tmux session should be attached to automatically. Defaults to true.
# attach: false
enable_pane_titles: true
windows:
- Dash:
- clear;fastfetch;misfortune|cowsay|lolcat
- IRC:
- irssi
- Email:
- mbsync -a;neomutt
- Music:
- musikcube
- Podcasts:
- castero

View File

@@ -0,0 +1,56 @@
# /home/th3r00t/.config/tmuxinator/pytui.yml
name: pytui
root: ~/Projects/pytui
# Optional tmux socket
# socket_name: foo
# Note that the pre and post options have been deprecated and will be replaced by
# project hooks.
# Project hooks
# Runs on project start, always
# on_project_start: command
# Run on project start, the first time
on_project_first_start: uv sync
# Run on project start, after the first time
# on_project_restart: command
# Run on project exit ( detaching from tmux session )
# on_project_exit: command
# Run on project stop
# on_project_stop: command
# Runs in each window and pane before window/pane specific commands. Useful for setting up interpreter versions.
# pre_window: rbenv shell 2.0.0-p247
# Pass command line options to tmux. Useful for specifying a different tmux.conf.
# tmux_options: -f ~/.tmux.mac.conf
# Change the command to call tmux. This can be used by derivatives/wrappers like byobu.
# tmux_command: byobu
# Specifies (by name or index) which window will be selected on project startup. If not set, the first window is used.
startup_window: Editor
# Specifies (by index) which pane of the specified window will be selected on project startup. If not set, the first pane is used.
# startup_pane: 1
# Controls whether the tmux session should be attached to automatically. Defaults to true.
# attach: false
enable_pane_titles: true
windows:
- Editor:
panes:
- ranger
- Debugger:
panes:
- clear;fastfetch;misfortune|cowsay|lolcat
- Testing:
panes:
- clear;fastfetch;misfortune|cowsay|lolcat

View File

@@ -0,0 +1,24 @@
# /home/th3r00t/.config/tmuxinator/tmuxConfig.yml
name: tmuxConfig
root: ~/
# Optional tmux socket
# socket_name: foo
# Specifies (by name or index) which window will be selected on project startup. If not set, the first window is used.
startup_window: tmux
# Specifies (by index) which pane of the specified window will be selected on project startup. If not set, the first pane is used.
# startup_pane: 1
# Controls whether the tmux session should be attached to automatically. Defaults to true.
# attach: false
enable_pane_titles: true
windows:
- tmux:
- nvim .tmux.conf
- tmuxinator:
root: ~/.config/tmuxinator/
panes:
- ranger .

View File

@@ -16,6 +16,10 @@
recursive = true;
executable = true;
};
home.file.".config/tmuxinator" = {
source = ./.config/tmuxinator;
recursive = true;
};
home.file.".ssh/allowed_signers".text = ''
* ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIH8P/3yzsruekSaZ9b+yk429VTcfCtI1j8jnkNbPAgnr th3r00t@nixos
'';
@@ -74,6 +78,7 @@
python-pkgs.ptpython
python-pkgs.ipython
python-pkgs.pillow
python-pkgs.basedpyright
]
)
)

View File

@@ -219,7 +219,7 @@
enableGitIntegration = true;
font = {
name = "FiraCode Nerd Font Mono";
size = 10.5;
size = 9;
};
actionAliases = {
"pytui" = "launch pytui";

View File

@@ -67,7 +67,8 @@
monitor = eDP-1, preferred,0x0,2
monitor = DP-2, 2560x1080@74.99,auto,1
# monitor = Virtual-1, 2800x1752@120, 1920x0, 1
$terminal = kitty
$terminal-notmux = kitty
$terminal = kitty -e tmux new-session zsh -c 'tmuxstartup.sh'
# $terminal = ghostty
# $terminal = footclient
# $terminal = footclient -e tmux new-session zsh -c '~/.local/usr/bin/tmuxstartup.sh'
@@ -78,13 +79,14 @@
$browser = qutebrowser
$notes = kitty -T capture -e pytui -n
$manpages = kitty -T capture -e pytui -m
$sysmon = kitty -T system-monitor -e bashtop
$sysmon = kitty -T system-monitor -e glances
$editor = neovide
$screenshot = hyprshot -f ~/Pictures/Screenshots/%Y-%m-%d-%H%M%S.png
bind = $mainMod SHIFT, M, exec, hyprvirtmon.py
bind = $mainMod SHIFT, P, exec, externalmon.py
bind = $mainMod SHIFT, Return, exec, $terminal
bind = $mainMod, Return, exec, $terminal-notmux
bind = $mainMod, D, exec, $editor
bind = $mainMod, E, exec, $fileManager
bind = $mainMod SHIFT, C, killactive
@@ -97,7 +99,7 @@
bind = $mainMod CTRL, M, exec, $manpages
# bind = $mainMod, P, exec, $menu
bind = $mainMod, V, togglefloating
bind = $mainMod, P, pseudo, # dwindle
# bind = $mainMod, P, pseudo, # dwindle
bind = $mainMod, TAB, togglesplit, # dwindle
bind = $mainMod, Y, fullscreen, 1
bind = $mainMod, T, togglegroup

View File

@@ -9,7 +9,7 @@
mouse = true;
newSession = true;
plugins = with pkgs; [
tmuxPlugins.cpu
# tmuxPlugins.cpu
{
plugin = tmuxPlugins.resurrect;
extraConfig = "set -g @resurrect-strategy-nvim 'session'";
@@ -26,6 +26,7 @@
tmuxPlugins.vim-tmux-focus-events
tmuxPlugins.urlview
tmuxPlugins.tmux-fzf
tmuxPlugins.sidebar
{
plugin = tmuxPlugins.tokyo-night-tmux;
extraConfig = ''
@@ -46,16 +47,23 @@
}
'';
}
# {
# plugin = tmuxPlugins.tilish;
# extraConfig = ''
# set -g @tilish-navigator 'on'
# set -g @tilish-default 'main-vertical'
# set -g @tilish-enforce 'none'
# set -g escape-time 0
# set -g @tilish-dmenu 'on'
# '';
# }
{
plugin = tmuxPlugins.pass;
extraConfig = ''
set -g @pass-key b
set -g @pass-copy-to-clipboard on
'';
}
{
plugin = tmuxPlugins.tilish;
extraConfig = ''
set -g @tilish-navigator 'on'
set -g @tilish-default 'main-vertical'
set -g @tilish-enforce 'none'
set -g escape-time 0
set -g @tilish-dmenu 'on'
'';
}
];
prefix = "C-a";
@@ -100,29 +108,19 @@
set -g escape-time 3
set-option -g status-position top
set -g default-terminal 'tmux-256color'
bind-key b choose-tree -Z "run-shell 'tmux swap-pane -s %%'"
# bind C-p display-popup -E -w 60% -h 70% 'tmuxsessions.sh'
bind C-p run-shell 'tmuxsessions.sh'
bind C-d run-shell 'dotfile-picker.sh'
bind [ run-shell 'project-picker.sh'
# bind C-c display-popup -E -w 50% -h 50% 'nvim +":cd ~/org" ~/org/refile.norg'
# bind C-c display-popup -E -w 50% -h 50% 'nvim +"VimwikiIndex"
bind C-c display-popup -E -w 60% -h 60% "pytui -n"
bind m display-popup -E -w 60% -h 60% "pytui -m"
# bind C-w display-popup -E -w 40% -h 60% "pytui -D"
bind C-o display-popup -E -w 50% -h 50% 'igrep ~/wiki/notes'
bind j run-shell 'popuptmux'
bind r source-file ~/.config/tmux/tmux.conf \; display "Reloaded!"
bind i split-window -v -c '\
#{pane_current_path}' 'emojicherrypick.py --menu fzf\
'
bind-key -n F4 run-shell 'ranger'
# bind-key -n C-e split-window -v -c '\
#{pane_current_path}' 'vifm\'
bind-key -n F4 split-window -v 'ranger $PWD'
bind-key -n C-f split-window 'ranger .'
bind F3 send-keys 'igrep .'
bind C-i split-window -v 'igrep .'
'';
};
}

View File

@@ -6,7 +6,7 @@
mainBar = {
layer = "top";
position = "top";
height = 30;
height = 25;
modules-left = [ "hyprland/workspaces" ];
modules-center = [ "hyprland/window" ];
modules-right = [
@@ -214,13 +214,13 @@
window#waybar {
background-color: rgba(43, 48, 59, 0.5);
border-bottom: 3px solid rgba(100, 114, 125, 0.5);
color: #ffffff;
color: #ffffff;
transition-property: background-color;
transition-duration: .5s;
}
window#waybar.hidden {
opacity: 0.2;
opacity: 0.2;
}
/*