Merge branch 'main' of ssh://git.musuka.dev:2222/paoda/dotfiles

This commit is contained in:
2026-01-17 17:15:14 -06:00
3 changed files with 214 additions and 12 deletions

View File

@@ -30,12 +30,14 @@ keybinds {
bind "n" { NewPane; SwitchToMode "Normal"; } bind "n" { NewPane; SwitchToMode "Normal"; }
bind "d" { NewPane "Down"; SwitchToMode "Normal"; } bind "d" { NewPane "Down"; SwitchToMode "Normal"; }
bind "r" { NewPane "Right"; SwitchToMode "Normal"; } bind "r" { NewPane "Right"; SwitchToMode "Normal"; }
bind "s" { NewPane "stacked"; SwitchToMode "Normal"; }
bind "x" { CloseFocus; SwitchToMode "Normal"; } bind "x" { CloseFocus; SwitchToMode "Normal"; }
bind "f" { ToggleFocusFullscreen; SwitchToMode "Normal"; } bind "f" { ToggleFocusFullscreen; SwitchToMode "Normal"; }
bind "z" { TogglePaneFrames; SwitchToMode "Normal"; } bind "z" { TogglePaneFrames; SwitchToMode "Normal"; }
bind "w" { ToggleFloatingPanes; SwitchToMode "Normal"; } bind "w" { ToggleFloatingPanes; SwitchToMode "Normal"; }
bind "e" { TogglePaneEmbedOrFloating; SwitchToMode "Normal"; } bind "e" { TogglePaneEmbedOrFloating; SwitchToMode "Normal"; }
bind "c" { SwitchToMode "RenamePane"; PaneNameInput 0;} bind "c" { SwitchToMode "RenamePane"; PaneNameInput 0;}
bind "i" { TogglePanePinned; SwitchToMode "Normal"; }
} }
move { move {
bind "Ctrl h" { SwitchToMode "Normal"; } bind "Ctrl h" { SwitchToMode "Normal"; }
@@ -54,6 +56,9 @@ keybinds {
bind "n" { NewTab; SwitchToMode "Normal"; } bind "n" { NewTab; SwitchToMode "Normal"; }
bind "x" { CloseTab; SwitchToMode "Normal"; } bind "x" { CloseTab; SwitchToMode "Normal"; }
bind "s" { ToggleActiveSyncTab; SwitchToMode "Normal"; } bind "s" { ToggleActiveSyncTab; SwitchToMode "Normal"; }
bind "b" { BreakPane; SwitchToMode "Normal"; }
bind "]" { BreakPaneRight; SwitchToMode "Normal"; }
bind "[" { BreakPaneLeft; SwitchToMode "Normal"; }
bind "1" { GoToTab 1; SwitchToMode "Normal"; } bind "1" { GoToTab 1; SwitchToMode "Normal"; }
bind "2" { GoToTab 2; SwitchToMode "Normal"; } bind "2" { GoToTab 2; SwitchToMode "Normal"; }
bind "3" { GoToTab 3; SwitchToMode "Normal"; } bind "3" { GoToTab 3; SwitchToMode "Normal"; }
@@ -110,6 +115,41 @@ keybinds {
bind "Ctrl o" { SwitchToMode "Normal"; } bind "Ctrl o" { SwitchToMode "Normal"; }
bind "Ctrl s" { SwitchToMode "Scroll"; } bind "Ctrl s" { SwitchToMode "Scroll"; }
bind "d" { Detach; } bind "d" { Detach; }
bind "w" {
LaunchOrFocusPlugin "session-manager" {
floating true
move_to_focused_tab true
};
SwitchToMode "Normal"
}
bind "c" {
LaunchOrFocusPlugin "configuration" {
floating true
move_to_focused_tab true
};
SwitchToMode "Normal"
}
bind "p" {
LaunchOrFocusPlugin "plugin-manager" {
floating true
move_to_focused_tab true
};
SwitchToMode "Normal"
}
bind "a" {
LaunchOrFocusPlugin "zellij:about" {
floating true
move_to_focused_tab true
};
SwitchToMode "Normal"
}
bind "s" {
LaunchOrFocusPlugin "zellij:share" {
floating true
move_to_focused_tab true
};
SwitchToMode "Normal"
}
} }
tmux { tmux {
bind "[" { SwitchToMode "Scroll"; } bind "[" { SwitchToMode "Scroll"; }
@@ -137,7 +177,10 @@ keybinds {
shared_except "locked" { shared_except "locked" {
bind "Ctrl g" { SwitchToMode "Locked"; } bind "Ctrl g" { SwitchToMode "Locked"; }
bind "Ctrl q" { Quit; } bind "Ctrl q" { Quit; }
bind "Alt f" { ToggleFloatingPanes; }
bind "Alt n" { NewPane; } bind "Alt n" { NewPane; }
bind "Alt i" { MoveTab "Left"; }
bind "Alt o" { MoveTab "Right"; }
bind "Alt h" "Alt Left" { MoveFocusOrTab "Left"; } bind "Alt h" "Alt Left" { MoveFocusOrTab "Left"; }
bind "Alt l" "Alt Right" { MoveFocusOrTab "Right"; } bind "Alt l" "Alt Right" { MoveFocusOrTab "Right"; }
bind "Alt j" "Alt Down" { MoveFocus "Down"; } bind "Alt j" "Alt Down" { MoveFocus "Down"; }
@@ -146,6 +189,8 @@ keybinds {
bind "Alt -" { Resize "Decrease"; } bind "Alt -" { Resize "Decrease"; }
bind "Alt [" { PreviousSwapLayout; } bind "Alt [" { PreviousSwapLayout; }
bind "Alt ]" { NextSwapLayout; } bind "Alt ]" { NextSwapLayout; }
bind "Alt p" { TogglePaneInGroup; }
bind "Alt Shift p" { ToggleGroupMarking; }
} }
shared_except "normal" "locked" { shared_except "normal" "locked" {
bind "Enter" "Esc" { SwitchToMode "Normal"; } bind "Enter" "Esc" { SwitchToMode "Normal"; }
@@ -173,15 +218,34 @@ keybinds {
} }
} }
// Plugin aliases - can be used to change the implementation of Zellij
// changing these requires a restart to take effect
plugins { plugins {
tab-bar { path "tab-bar"; } tab-bar location="zellij:tab-bar"
status-bar { path "status-bar"; } status-bar location="zellij:status-bar"
strider { path "strider"; } strider location="zellij:strider"
compact-bar { path "compact-bar"; } compact-bar location="zellij:compact-bar"
session-manager location="zellij:session-manager"
welcome-screen location="zellij:session-manager" {
welcome_screen true
}
filepicker location="zellij:strider" {
cwd "/"
}
configuration location="zellij:configuration"
plugin-manager location="zellij:plugin-manager"
about location="zellij:about"
}
// Plugins to load in the background when a new session starts
load_plugins {
// "file:/path/to/my-plugin.wasm"
// "https://example.com/my-plugin.wasm"
} }
// Choose what to do when zellij receives SIGTERM, SIGINT, SIGQUIT or SIGHUP // Choose what to do when zellij receives SIGTERM, SIGINT, SIGQUIT or SIGHUP
// eg. when terminal window with an active zellij session is closed // eg. when terminal window with an active zellij session is closed
// (Requires restart)
// Options: // Options:
// - detach (Default) // - detach (Default)
// - quit // - quit
@@ -193,7 +257,7 @@ plugins {
// - true // - true
// - false (Default) // - false (Default)
// //
simplified_ui true // simplified_ui true
// Choose the path to the default shell that zellij will use for opening new panes // Choose the path to the default shell that zellij will use for opening new panes
// Default: $SHELL // Default: $SHELL
@@ -209,7 +273,7 @@ simplified_ui true
// - true (default) // - true (default)
// - false // - false
// //
pane_frames false // pane_frames true
// Toggle between having Zellij lay out panes according to a predefined set of layouts whenever possible // Toggle between having Zellij lay out panes according to a predefined set of layouts whenever possible
// Options: // Options:
@@ -218,6 +282,29 @@ pane_frames false
// //
// auto_layout true // auto_layout true
// Whether sessions should be serialized to the cache folder (including their tabs/panes, cwds and running commands) so that they can later be resurrected
// (Requires restart)
// Options:
// - true (default)
// - false
//
// session_serialization false
// Whether pane viewports are serialized along with the session, default is false
// (Requires restart)
// Options:
// - true
// - false (default)
//
// serialize_pane_viewport true
// Scrollback lines to serialize along with the pane viewport when serializing sessions, 0
// defaults to the scrollback size. If this number is higher than the scrollback size, it will
// also default to the scrollback size. This does nothing if `serialize_pane_viewport` is not true.
// (Requires restart)
//
// scrollback_lines_to_serialize 10000
// Define color themes for Zellij // Define color themes for Zellij
// For more examples, see: https://github.com/zellij-org/zellij/tree/main/example/themes // For more examples, see: https://github.com/zellij-org/zellij/tree/main/example/themes
// Once these themes are defined, one of them should to be selected in the "theme" section of this file // Once these themes are defined, one of them should to be selected in the "theme" section of this file
@@ -245,6 +332,7 @@ pane_frames false
// The name of the default layout to load on startup // The name of the default layout to load on startup
// Default: "default" // Default: "default"
// (Requires restart)
// //
// default_layout "compact" // default_layout "compact"
@@ -256,6 +344,7 @@ pane_frames false
// Toggle enabling the mouse mode. // Toggle enabling the mouse mode.
// On certain configurations, or terminals this could // On certain configurations, or terminals this could
// potentially interfere with copying text. // potentially interfere with copying text.
// (Requires restart)
// Options: // Options:
// - true (default) // - true (default)
// - false // - false
@@ -265,6 +354,7 @@ pane_frames false
// Configure the scroll back buffer size // Configure the scroll back buffer size
// This is the number of lines zellij stores for each pane in the scroll back // This is the number of lines zellij stores for each pane in the scroll back
// buffer. Excess number of lines are discarded in a FIFO fashion. // buffer. Excess number of lines are discarded in a FIFO fashion.
// (Requires restart)
// Valid values: positive integers // Valid values: positive integers
// Default value: 10000 // Default value: 10000
// //
@@ -302,14 +392,129 @@ pane_frames false
// When attaching to an existing session with other users, // When attaching to an existing session with other users,
// should the session be mirrored (true) // should the session be mirrored (true)
// or should each user have their own cursor (false) // or should each user have their own cursor (false)
// (Requires restart)
// Default: false // Default: false
// //
// mirror_session true // mirror_session true
// The folder in which Zellij will look for layouts // The folder in which Zellij will look for layouts
// (Requires restart)
// //
// layout_dir "/path/to/my/layout_dir" // layout_dir "/path/to/my/layout_dir"
// The folder in which Zellij will look for themes // The folder in which Zellij will look for themes
// (Requires restart)
// //
// theme_dir "/path/to/my/theme_dir" // theme_dir "/path/to/my/theme_dir"
// Enable or disable the rendering of styled and colored underlines (undercurl).
// May need to be disabled for certain unsupported terminals
// (Requires restart)
// Default: true
//
// styled_underlines false
// Enable or disable writing of session metadata to disk (if disabled, other sessions might not know
// metadata info on this session)
// (Requires restart)
// Default: false
//
// disable_session_metadata true
// Enable or disable support for the enhanced Kitty Keyboard Protocol (the host terminal must also support it)
// (Requires restart)
// Default: true (if the host terminal supports it)
//
// support_kitty_keyboard_protocol false
// Whether to make sure a local web server is running when a new Zellij session starts.
// This web server will allow creating new sessions and attaching to existing ones that have
// opted in to being shared in the browser.
// When enabled, navigate to http://127.0.0.1:8082
// (Requires restart)
//
// Note: a local web server can still be manually started from within a Zellij session or from the CLI.
// If this is not desired, one can use a version of Zellij compiled without
// `web_server_capability`
//
// Possible values:
// - true
// - false
// Default: false
//
// web_server true
// Whether to allow sessions started in the terminal to be shared through a local web server, assuming one is
// running (see the `web_server` option for more details).
// (Requires restart)
//
// Note: This is an administrative separation and not intended as a security measure.
//
// Possible values:
// - "on" (allow web sharing through the local web server if it
// is online)
// - "off" (do not allow web sharing unless sessions explicitly opt-in to it)
// - "disabled" (do not allow web sharing and do not permit sessions started in the terminal to opt-in to it)
// Default: "off"
//
// web_sharing "on"
// The ip address the web server should listen on when it starts
// Default: "127.0.0.1"
// (Requires restart)
//
// web_server_ip "127.0.0.1"
// A path to a certificate file to be used when setting up the web client to serve the
// connection over HTTPs
//
// web_server_cert "/path/to/my/cert.pem"
// A path to a key file to be used when setting up the web client to serve the
// connection over HTTPs
//
// web_server_key "/path/to/my/key.pem"
// Whether to enforce https connections to the web server when it is bound to localhost
// (127.0.0.0/8)
//
// Note: https is ALWAYS enforced when bound to non-local interfaces
//
// Default: false
//
// enforce_https_for_localhost true
// The port the web server should listen on when it starts
// Default: 8082
// (Requires restart)
//
// web_server_port 8082
// Whether to stack panes when resizing beyond a certain size
// Default: true
//
// stacked_resize false
// Whether to show release notes on first version run
// Default: true
//
// show_release_notes false
// Whether to enable mouse hover effects and pane grouping functionality
// Default: true
//
// advanced_mouse_actions false
// A command to run (will be wrapped with sh -c and provided the RESURRECT_COMMAND env variable)
// after Zellij attempts to discover a command inside a pane when resurrecting sessions, the STDOUT
// of this command will be used instead of the discovered RESURRECT_COMMAND
// can be useful for removing wrappers around commands
// Note: be sure to escape backslashes and similar characters properly
//
// post_command_discovery_hook "echo $RESURRECT_COMMAND | sed <your_regex_here>"
web_client {
font "monospace"
}

View File

@@ -3,7 +3,6 @@
# :bindkey -v # :bindkey -v
# Aliases # Aliases
alias yay="yay --aur"
alias paru="paru --aur" alias paru="paru --aur"
alias ls="eza" alias ls="eza"
alias ll="eza -albh" alias ll="eza -albh"
@@ -12,7 +11,6 @@ alias cat="bat"
alias find="fd" alias find="fd"
alias grep="rg" alias grep="rg"
alias open="xdg-open" alias open="xdg-open"
alias zigup="zigup --path-link /home/paoda/.local/bin/zig --install-dir /home/paoda/.local/share/zigup/zig"
alias objdump="objdump -M intel --disassembler-color=extended-color --visualize-jumps=extended-color" alias objdump="objdump -M intel --disassembler-color=extended-color --visualize-jumps=extended-color"
# Functions # Functions

View File

@@ -8,13 +8,9 @@ export EDITOR="$HOME/.cargo/bin/hx"
# Add ~/.local/bin to PATH # Add ~/.local/bin to PATH
export PATH="$HOME/.local/bin:$PATH" export PATH="$HOME/.local/bin:$PATH"
# Note: zizgup binary should be moved to ~/.local/bin
# Rust # Rust
export PATH="$HOME/.cargo/bin:$PATH" export PATH="$HOME/.cargo/bin:$PATH"
# Note: ZLS binary should be moved to ~/.local/bin
# Yarn Global # Yarn Global
export PATH="$HOME/.yarn/bin:$PATH" export PATH="$HOME/.yarn/bin:$PATH"
@@ -27,4 +23,7 @@ export PATH="/opt/flutter/bin:$PATH"
# nvm # nvm
source /usr/share/nvm/init-nvm.sh source /usr/share/nvm/init-nvm.sh
# revng
export PATH="/opt/revng:$PATH"
# Note: devkitPro handled by environment.d # Note: devkitPro handled by environment.d