Replace placeholders with real configs, port Zsh to Fish
- starship.toml: rainbow p10k-style prompt with powerline segments - ghostty: JetBrains Mono, TokyoNight theme, clipboard settings - zellij: tokyo-night-custom theme, Alt keybinds, Fish as default shell - fastfetch: custom colors (magenta/blue), full module list with battery - fish config.fish: ported from zsh — starship, zoxide, direnv, fzf, zellij auto-attach on ghostty, all aliases (eza, bat, docker, ansible, uv), addalias/listalias functions, fastfetch on login - .chezmoiignore: servers skip ghostty, zellij, fastfetch; source reference dirs (laptop/, manjaro/) excluded from deployment
This commit is contained in:
parent
4a83ebee49
commit
288102ab46
@ -2,7 +2,11 @@
|
|||||||
{{ if eq .machine_type "server" }}
|
{{ if eq .machine_type "server" }}
|
||||||
dot_config/ghostty
|
dot_config/ghostty
|
||||||
dot_config/zellij
|
dot_config/zellij
|
||||||
|
dot_config/fastfetch
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
|
||||||
|
# Source reference files — not deployed
|
||||||
|
laptop/
|
||||||
|
manjaro/
|
||||||
README.md
|
README.md
|
||||||
LICENSE
|
LICENSE
|
||||||
|
|||||||
51
dot_config/fastfetch/config.jsonc
Normal file
51
dot_config/fastfetch/config.jsonc
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
{
|
||||||
|
"$schema": "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json",
|
||||||
|
"logo": {
|
||||||
|
"type": "auto",
|
||||||
|
"color": {
|
||||||
|
"1": "magenta",
|
||||||
|
"2": "blue"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"display": {
|
||||||
|
"separator": " ➜ ",
|
||||||
|
"color": {
|
||||||
|
"separator": "green",
|
||||||
|
"keys": "blue",
|
||||||
|
"title": "magenta"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"modules": [
|
||||||
|
{
|
||||||
|
"type": "title",
|
||||||
|
"color": {
|
||||||
|
"user": "magenta",
|
||||||
|
"at": "white",
|
||||||
|
"host": "blue"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"separator",
|
||||||
|
"os",
|
||||||
|
"host",
|
||||||
|
"kernel",
|
||||||
|
"uptime",
|
||||||
|
"packages",
|
||||||
|
"shell",
|
||||||
|
"terminal",
|
||||||
|
"de",
|
||||||
|
"wm",
|
||||||
|
"theme",
|
||||||
|
"icons",
|
||||||
|
"font",
|
||||||
|
"cursor",
|
||||||
|
"cpu",
|
||||||
|
"gpu",
|
||||||
|
"memory",
|
||||||
|
"disk",
|
||||||
|
"localip",
|
||||||
|
"battery",
|
||||||
|
"locale",
|
||||||
|
"break",
|
||||||
|
"colors"
|
||||||
|
]
|
||||||
|
}
|
||||||
@ -1,8 +1,5 @@
|
|||||||
# ┌──────────────────────────────────────────────────────────┐
|
# Fish shell configuration
|
||||||
# │ PLACEHOLDER — replace with your actual Fish config │
|
# Ported from Zsh config — Fish + Starship + Zellij + Ghostty stack
|
||||||
# │ This file is managed by Chezmoi. │
|
|
||||||
# │ Edit the source: chezmoi edit ~/.config/fish/config.fish│
|
|
||||||
# └──────────────────────────────────────────────────────────┘
|
|
||||||
|
|
||||||
if status is-interactive
|
if status is-interactive
|
||||||
|
|
||||||
@ -12,28 +9,57 @@ if status is-interactive
|
|||||||
# ── Navigation ──────────────────────────────────────────
|
# ── Navigation ──────────────────────────────────────────
|
||||||
zoxide init fish | source
|
zoxide init fish | source
|
||||||
|
|
||||||
|
# ── direnv ──────────────────────────────────────────────
|
||||||
|
direnv hook fish | source
|
||||||
|
|
||||||
# ── fzf ─────────────────────────────────────────────────
|
# ── fzf ─────────────────────────────────────────────────
|
||||||
|
# fzf.fish plugin handles Ctrl+R (history) and Ctrl+F (files)
|
||||||
set -gx FZF_DEFAULT_OPTS "--height 40% --layout=reverse --border --info=inline"
|
set -gx FZF_DEFAULT_OPTS "--height 40% --layout=reverse --border --info=inline"
|
||||||
|
|
||||||
# ── Aliases ─────────────────────────────────────────────
|
# ── Zellij auto-attach ──────────────────────────────────
|
||||||
alias ls "eza --icons --group-directories-first"
|
# Auto-attach to default session when opening a new Ghostty terminal
|
||||||
alias ll "eza -la --icons --group-directories-first --git"
|
if test -z "$ZELLIJ" -a "$TERM" = "xterm-ghostty"
|
||||||
alias lt "eza --tree --level=2 --icons"
|
zellij attach --create default
|
||||||
alias cat "bat --paging=never"
|
end
|
||||||
alias catp "bat"
|
|
||||||
|
|
||||||
# Git
|
# ── Aliases: files ──────────────────────────────────────
|
||||||
|
alias ls "eza --icons"
|
||||||
|
alias ll "eza -lah --icons"
|
||||||
|
alias lt "eza --tree --level=2 --icons"
|
||||||
|
alias cat "bat"
|
||||||
|
alias catp "bat --paging=always"
|
||||||
|
|
||||||
|
# ── Aliases: git ────────────────────────────────────────
|
||||||
alias gs "git status"
|
alias gs "git status"
|
||||||
alias gd "git diff"
|
alias gd "git diff"
|
||||||
alias gl "git log --oneline -20"
|
alias gl "git log --oneline -20"
|
||||||
alias gp "git pull"
|
alias gp "git pull"
|
||||||
|
|
||||||
# Docker
|
# ── Aliases: docker ─────────────────────────────────────
|
||||||
alias dc "docker compose"
|
alias dc "docker compose"
|
||||||
alias dps "docker ps --format 'table {{.Names}}\t{{.Status}}\t{{.Ports}}'"
|
alias dps 'docker ps --format "table {{.Names}}\t{{.Status}}\t{{.Ports}}"'
|
||||||
|
alias dlog "docker logs -f"
|
||||||
|
alias dcup "docker compose up -d"
|
||||||
|
alias dcdown "docker compose down"
|
||||||
alias dlogs "docker compose logs -f"
|
alias dlogs "docker compose logs -f"
|
||||||
|
|
||||||
# Safety nets
|
# ── Aliases: ansible ────────────────────────────────────
|
||||||
|
alias ap "ansible-playbook"
|
||||||
|
alias av "ansible-vault"
|
||||||
|
|
||||||
|
# ── Aliases: python/uv ──────────────────────────────────
|
||||||
|
alias pysync "uv sync"
|
||||||
|
alias pyrun "uv run"
|
||||||
|
alias pyshell "uv run ipython"
|
||||||
|
|
||||||
|
# ── Aliases: clipboard ──────────────────────────────────
|
||||||
|
alias xc "xclip -selection clipboard"
|
||||||
|
|
||||||
|
# ── Aliases: misc ───────────────────────────────────────
|
||||||
|
alias fetch "fastfetch"
|
||||||
|
alias neofetch "fastfetch"
|
||||||
|
|
||||||
|
# ── Safety nets ─────────────────────────────────────────
|
||||||
alias rm "rm -i"
|
alias rm "rm -i"
|
||||||
alias mv "mv -i"
|
alias mv "mv -i"
|
||||||
alias cp "cp -i"
|
alias cp "cp -i"
|
||||||
@ -41,6 +67,9 @@ if status is-interactive
|
|||||||
# ── Environment ─────────────────────────────────────────
|
# ── Environment ─────────────────────────────────────────
|
||||||
set -gx EDITOR vim
|
set -gx EDITOR vim
|
||||||
set -gx VISUAL vim
|
set -gx VISUAL vim
|
||||||
|
set -gx COLORTERM truecolor
|
||||||
|
|
||||||
|
# Suppress Fish greeting
|
||||||
set -g fish_greeting
|
set -g fish_greeting
|
||||||
|
|
||||||
# ── System Info (login shells only) ─────────────────────
|
# ── System Info (login shells only) ─────────────────────
|
||||||
@ -49,3 +78,18 @@ if status is-interactive
|
|||||||
end
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# ── Custom functions ────────────────────────────────────────
|
||||||
|
|
||||||
|
# Quick alias management (like addalias from zsh)
|
||||||
|
function addalias --description "Add a persistent alias"
|
||||||
|
set -l name $argv[1]
|
||||||
|
set -l cmd $argv[2..-1]
|
||||||
|
echo "alias $name \"$cmd\"" >> ~/.config/fish/conf.d/custom_aliases.fish
|
||||||
|
source ~/.config/fish/conf.d/custom_aliases.fish
|
||||||
|
echo "Added: $name"
|
||||||
|
end
|
||||||
|
|
||||||
|
function listalias --description "List custom aliases"
|
||||||
|
cat ~/.config/fish/conf.d/custom_aliases.fish 2>/dev/null; or echo "No custom aliases yet"
|
||||||
|
end
|
||||||
|
|||||||
@ -1,33 +1,8 @@
|
|||||||
# ┌──────────────────────────────────────────────────────────┐
|
font-family = JetBrains Mono
|
||||||
# │ PLACEHOLDER — replace with your actual Ghostty config │
|
font-size = 13
|
||||||
# │ This file is managed by Chezmoi. │
|
theme = TokyoNight
|
||||||
# │ Edit the source: chezmoi edit ~/.config/ghostty/config │
|
|
||||||
# └──────────────────────────────────────────────────────────┘
|
|
||||||
|
|
||||||
# Font
|
|
||||||
font-family = JetBrainsMono Nerd Font
|
|
||||||
font-size = 14
|
|
||||||
|
|
||||||
# Theme — pick one and uncomment, or paste your custom palette below
|
|
||||||
# theme = catppuccin-mocha
|
|
||||||
# theme = tokyo-night
|
|
||||||
# theme = dracula
|
|
||||||
# theme = gruvbox-dark
|
|
||||||
|
|
||||||
# Window
|
|
||||||
window-padding-x = 8
|
window-padding-x = 8
|
||||||
window-padding-y = 4
|
window-padding-y = 8
|
||||||
window-decoration = auto
|
|
||||||
|
|
||||||
# Cursor
|
|
||||||
cursor-style = block
|
|
||||||
cursor-style-blink = true
|
|
||||||
|
|
||||||
# Shell — Fish is set as login shell by Ansible, Ghostty inherits it
|
|
||||||
# shell-integration = fish
|
|
||||||
|
|
||||||
# Scrollback
|
|
||||||
scrollback-limit = 10000
|
|
||||||
|
|
||||||
# Clipboard
|
|
||||||
copy-on-select = clipboard
|
copy-on-select = clipboard
|
||||||
|
clipboard-read = allow
|
||||||
|
clipboard-write = allow
|
||||||
|
|||||||
@ -1,74 +1,188 @@
|
|||||||
# ┌──────────────────────────────────────────────────────────┐
|
# ~/.config/starship.toml
|
||||||
# │ PLACEHOLDER — replace with your p10k-style config │
|
|
||||||
# │ This file is managed by Chezmoi. │
|
|
||||||
# │ Edit the source: chezmoi edit ~/.config/starship.toml │
|
|
||||||
# │ │
|
|
||||||
# │ NOTE: Starship reads from ~/.config/starship.toml │
|
|
||||||
# │ Chezmoi maps this file there via the directory layout. │
|
|
||||||
# └──────────────────────────────────────────────────────────┘
|
|
||||||
|
|
||||||
command_timeout = 1000
|
|
||||||
add_newline = true
|
|
||||||
|
|
||||||
|
# --- 1. THE ASSEMBLY LINE ---
|
||||||
format = """
|
format = """
|
||||||
$username\
|
[╭─](white)[ ](bg:#9A348E)\
|
||||||
$hostname\
|
$os\
|
||||||
|
[](fg:#9A348E bg:#0087FF)\
|
||||||
$directory\
|
$directory\
|
||||||
|
[](fg:#0087FF bg:#00D700)\
|
||||||
$git_branch\
|
$git_branch\
|
||||||
|
$git_commit\
|
||||||
|
$git_state\
|
||||||
$git_status\
|
$git_status\
|
||||||
|
[](fg:#00D700)\
|
||||||
|
$fill\
|
||||||
|
[](fg:#86BBD8)\
|
||||||
$python\
|
$python\
|
||||||
$golang\
|
|
||||||
$nodejs\
|
$nodejs\
|
||||||
|
$rust\
|
||||||
|
$golang\
|
||||||
|
$java\
|
||||||
|
$scala\
|
||||||
|
[](fg:#06969A bg:#86BBD8)\
|
||||||
$docker_context\
|
$docker_context\
|
||||||
$cmd_duration\
|
[](fg:#33658A bg:#06969A)\
|
||||||
|
$time\
|
||||||
|
[ ](bg:#33658A)\
|
||||||
|
$status\
|
||||||
$line_break\
|
$line_break\
|
||||||
$character"""
|
$character\
|
||||||
|
"""
|
||||||
|
|
||||||
[character]
|
# --- 2. PART DEFINITIONS ---
|
||||||
success_symbol = "[❯](bold green)"
|
[fill]
|
||||||
error_symbol = "[❯](bold red)"
|
|
||||||
|
|
||||||
[directory]
|
|
||||||
truncation_length = 4
|
|
||||||
truncation_symbol = "…/"
|
|
||||||
truncate_to_repo = true
|
|
||||||
style = "bold cyan"
|
|
||||||
|
|
||||||
[git_branch]
|
|
||||||
format = "[$symbol$branch(:$remote_branch)]($style) "
|
|
||||||
symbol = " "
|
symbol = " "
|
||||||
style = "bold purple"
|
|
||||||
|
|
||||||
|
# OS Module (Purple Block)
|
||||||
|
[os]
|
||||||
|
disabled = false
|
||||||
|
style = "fg:#ffffff bg:#9A348E"
|
||||||
|
format = '[$symbol]($style)'
|
||||||
|
|
||||||
|
[os.symbols]
|
||||||
|
Windows = " "
|
||||||
|
Macos = " "
|
||||||
|
Linux = " "
|
||||||
|
Arch = " "
|
||||||
|
Ubuntu = " "
|
||||||
|
Fedora = " "
|
||||||
|
Debian = " "
|
||||||
|
Mint = " "
|
||||||
|
# UPDATED: Correct Manjaro logo
|
||||||
|
Manjaro = " "
|
||||||
|
|
||||||
|
# Directory Module (Blue Block)
|
||||||
|
[directory]
|
||||||
|
style = "fg:#ffffff bg:#0087FF"
|
||||||
|
format = '[ $path ]($style)'
|
||||||
|
truncation_length = 3
|
||||||
|
truncation_symbol = "…/"
|
||||||
|
|
||||||
|
# Git Branch Module (Green Block)
|
||||||
|
[git_branch]
|
||||||
|
symbol = " "
|
||||||
|
style = "fg:#000000 bg:#00D700"
|
||||||
|
format = '[ $symbol$branch(:$remote_branch) ]($style)'
|
||||||
|
truncation_length = 20
|
||||||
|
truncation_symbol = "…"
|
||||||
|
|
||||||
|
# Git Status Module (detailed status)
|
||||||
[git_status]
|
[git_status]
|
||||||
format = '([\[$all_status$ahead_behind\]]($style) )'
|
style = "fg:#000000 bg:#00D700"
|
||||||
style = "bold red"
|
format = '[$all_status$ahead_behind ]($style)'
|
||||||
|
conflicted = "⚔️ "
|
||||||
|
ahead = "⇡${count} "
|
||||||
|
behind = "⇣${count} "
|
||||||
|
diverged = "⇕⇡${ahead_count}⇣${behind_count} "
|
||||||
|
untracked = "?${count} "
|
||||||
|
stashed = "📦${count} "
|
||||||
|
modified = "!${count} "
|
||||||
|
staged = "+${count} "
|
||||||
|
renamed = "»${count} "
|
||||||
|
deleted = "✘${count} "
|
||||||
|
|
||||||
|
# Git Commit (shows current commit)
|
||||||
|
[git_commit]
|
||||||
|
style = "fg:#000000 bg:#00D700"
|
||||||
|
format = '[ #$hash$tag ]($style)'
|
||||||
|
commit_hash_length = 7
|
||||||
|
only_detached = true
|
||||||
|
|
||||||
|
# Git State (rebase, merge, etc)
|
||||||
|
[git_state]
|
||||||
|
style = "fg:#ffffff bg:#FF0000"
|
||||||
|
format = '[\($state( $progress_current/$progress_total)\)]($style)'
|
||||||
|
rebase = "REBASING"
|
||||||
|
merge = "MERGING"
|
||||||
|
revert = "REVERTING"
|
||||||
|
cherry_pick = "CHERRY-PICKING"
|
||||||
|
bisect = "BISECTING"
|
||||||
|
am = "AM"
|
||||||
|
am_or_rebase = "AM/REBASE"
|
||||||
|
|
||||||
[python]
|
[python]
|
||||||
format = '[${symbol}(${version} )(\($virtualenv\) )]($style)'
|
# UPDATED: Switched from emoji to Nerd Font
|
||||||
symbol = " "
|
symbol = " "
|
||||||
|
style = "fg:#000000 bg:#86BBD8"
|
||||||
|
format = '[ $symbol($virtualenv )($version) ](fg:#000000 bg:#86BBD8)'
|
||||||
|
|
||||||
[golang]
|
[golang]
|
||||||
format = "[$symbol($version )]($style)"
|
symbol = " "
|
||||||
symbol = " "
|
style = "fg:#000000 bg:#86BBD8"
|
||||||
|
format = '[ $symbol($version) ](fg:#000000 bg:#86BBD8)'
|
||||||
|
|
||||||
|
[gradle]
|
||||||
|
style = "bg:#86BBD8"
|
||||||
|
format = '[ $symbol ($version) ]($style)'
|
||||||
|
|
||||||
|
[haskell]
|
||||||
|
symbol = " "
|
||||||
|
style = "bg:#86BBD8"
|
||||||
|
format = '[ $symbol ($version) ]($style)'
|
||||||
|
|
||||||
|
[java]
|
||||||
|
symbol = " "
|
||||||
|
style = "fg:#000000 bg:#86BBD8"
|
||||||
|
format = '[ $symbol($version) ](fg:#000000 bg:#86BBD8)'
|
||||||
|
|
||||||
|
[julia]
|
||||||
|
symbol = " "
|
||||||
|
style = "bg:#86BBD8"
|
||||||
|
format = '[ $symbol ($version) ]($style)'
|
||||||
|
|
||||||
[nodejs]
|
[nodejs]
|
||||||
format = "[$symbol($version )]($style)"
|
symbol = " "
|
||||||
symbol = " "
|
style = "fg:#000000 bg:#86BBD8"
|
||||||
|
format = '[ $symbol($version) ](fg:#000000 bg:#86BBD8)'
|
||||||
|
|
||||||
|
[nim]
|
||||||
|
symbol = " "
|
||||||
|
style = "bg:#86BBD8"
|
||||||
|
format = '[ $symbol ($version) ]($style)'
|
||||||
|
|
||||||
|
[rust]
|
||||||
|
symbol = " "
|
||||||
|
style = "fg:#000000 bg:#86BBD8"
|
||||||
|
format = '[ $symbol($version) ](fg:#000000 bg:#86BBD8)'
|
||||||
|
|
||||||
|
[scala]
|
||||||
|
symbol = " "
|
||||||
|
style = "fg:#000000 bg:#86BBD8"
|
||||||
|
format = '[ $symbol($version) ](fg:#000000 bg:#86BBD8)'
|
||||||
|
|
||||||
[docker_context]
|
[docker_context]
|
||||||
format = "[$symbol$context]($style) "
|
# UPDATED: Added standard Docker icon
|
||||||
symbol = " "
|
symbol = " "
|
||||||
only_with_files = true
|
style = "fg:#ffffff bg:#06969A"
|
||||||
|
#format = 'via [🐋 $context](blue bold)'
|
||||||
|
format = '[ $symbol$context ](fg:#ffffff bg:#06969A)'
|
||||||
|
#format = "via [⬢ $context](bold blue) "
|
||||||
|
#detect_files = ["Dockerfile", "docker-compose.yml", ".dockerenv"]
|
||||||
|
#disabled = false
|
||||||
|
|
||||||
[cmd_duration]
|
#[docker_context]
|
||||||
min_time = 2_000
|
#format = 'via [🐋 $context](blue bold)'
|
||||||
format = "[$duration]($style) "
|
|
||||||
|
|
||||||
[username]
|
|
||||||
show_always = false
|
|
||||||
format = "[$user]($style)@"
|
|
||||||
|
|
||||||
[hostname]
|
[time]
|
||||||
ssh_only = true
|
disabled = false
|
||||||
format = "[$ssh_symbol$hostname]($style) "
|
time_format = "%R"
|
||||||
ssh_symbol = "🌐 "
|
style = "fg:#FFFFFF bg:#33658A"
|
||||||
|
format = '[ $time ]($style)'
|
||||||
|
|
||||||
|
[status]
|
||||||
|
disabled = false
|
||||||
|
style = "(fg:#ffffff bg:#FF0000)"
|
||||||
|
format = '[](fg:#FF0000 bg:#33658A)[ ✘ $status ](fg:#ffffff bg:#FF0000)'
|
||||||
|
|
||||||
|
|
||||||
|
# The Prompt Arrow
|
||||||
|
[character]
|
||||||
|
success_symbol = '[╰─](white) '
|
||||||
|
error_symbol = '[╰─](white) '
|
||||||
|
|
||||||
|
#[status]
|
||||||
|
#disabled = false
|
||||||
|
#style = "(fg:#ffffff bg:#FF0000)"
|
||||||
|
#format = '[](fg:#FF0000 bg:#33658A)[ ✘ $status ]($style)'
|
||||||
|
|||||||
@ -1,26 +1,63 @@
|
|||||||
// ┌──────────────────────────────────────────────────────────┐
|
|
||||||
// │ PLACEHOLDER — replace with your actual Zellij config │
|
|
||||||
// │ This file is managed by Chezmoi. │
|
|
||||||
// │ Edit the source: chezmoi edit ~/.config/zellij/config.kdl │
|
|
||||||
// └──────────────────────────────────────────────────────────┘
|
|
||||||
|
|
||||||
// Theme — uncomment one or define custom below
|
|
||||||
//theme "catppuccin-mocha"
|
//theme "catppuccin-mocha"
|
||||||
// theme "dracula"
|
|
||||||
//theme "tokyo-night"
|
//theme "tokyo-night"
|
||||||
|
themes {
|
||||||
|
tokyo-night-custom {
|
||||||
|
fg "#a9b1d6"
|
||||||
|
bg "#1a1b26"
|
||||||
|
black "#32344a"
|
||||||
|
red "#f7768e"
|
||||||
|
green "#ad8ee6"
|
||||||
|
yellow "#e0af68"
|
||||||
|
blue "#7aa2f7"
|
||||||
|
magenta "#ad8ee6"
|
||||||
|
cyan "#449dab"
|
||||||
|
white "#787c99"
|
||||||
|
orange "#ff9e64"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
theme "tokyo-night-custom"
|
||||||
|
|
||||||
// Default shell
|
|
||||||
default_shell "fish"
|
default_shell "fish"
|
||||||
|
// Copy behavior
|
||||||
// UI
|
|
||||||
pane_frames true
|
|
||||||
default_layout "compact"
|
|
||||||
|
|
||||||
// Mouse
|
|
||||||
mouse_mode true
|
|
||||||
|
|
||||||
// Copy
|
|
||||||
copy_on_select true
|
copy_on_select true
|
||||||
|
|
||||||
// Scrollback
|
// Scrollback buffer (lines per pane)
|
||||||
scroll_buffer_size 10000
|
scroll_buffer_size 50000
|
||||||
|
|
||||||
|
// Mouse support
|
||||||
|
mouse_mode true
|
||||||
|
|
||||||
|
simplified_ui false
|
||||||
|
|
||||||
|
// Mirror session (all connected clients see the same view)
|
||||||
|
mirror_session true
|
||||||
|
|
||||||
|
// Pane frames (borders around panes)
|
||||||
|
pane_frames true
|
||||||
|
|
||||||
|
// Auto-create layouts directory
|
||||||
|
auto_layout true
|
||||||
|
|
||||||
|
// Session serialization (persist layout on exit)
|
||||||
|
session_serialization true
|
||||||
|
|
||||||
|
// Idle timeout for status bar hints (milliseconds)
|
||||||
|
scrollback_lines_to_serialize 10000
|
||||||
|
|
||||||
|
keybinds {
|
||||||
|
shared {
|
||||||
|
unbind "Ctrl p" "Ctrl t" "Ctrl n" "Ctrl h" "Ctrl s" "Ctrl o" "Ctrl q" "Ctrl g"
|
||||||
|
bind "Alt p" { SwitchToMode "pane"; }
|
||||||
|
bind "Alt t" { SwitchToMode "tab"; }
|
||||||
|
bind "Alt n" { SwitchToMode "resize"; }
|
||||||
|
bind "Alt h" { SwitchToMode "move"; }
|
||||||
|
bind "Alt s" { SwitchToMode "scroll"; }
|
||||||
|
bind "Alt o" { SwitchToMode "session"; }
|
||||||
|
bind "Alt q" { Quit; }
|
||||||
|
bind "Alt g" { SwitchToMode "locked"; }
|
||||||
|
}
|
||||||
|
locked {
|
||||||
|
unbind "Ctrl g"
|
||||||
|
bind "Alt g" { SwitchToMode "normal"; }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user