From 046eb4089e0443ae497a2a6d5ceefd1ad15326bd Mon Sep 17 00:00:00 2001 From: Alex Selimov Date: Tue, 7 Jul 2026 10:45:57 -0400 Subject: [PATCH] Tmux configuration with dimming --- bin/swap_mode.sh | 13 +++++++++++++ config/ghostty/config | 6 ++---- config/starship.toml | 6 ++---- home/.tmux.conf | 11 ++++++++++- home/.zshrc | 44 ++++++++++++++++++++++++++++++++++++++++--- 5 files changed, 68 insertions(+), 12 deletions(-) diff --git a/bin/swap_mode.sh b/bin/swap_mode.sh index b5d313f..279c1c1 100755 --- a/bin/swap_mode.sh +++ b/bin/swap_mode.sh @@ -15,6 +15,8 @@ set_light_mode() { sed -E -i 's/(vim.g.light_mode[[:space:]]*=[[:space:]]*).*/\1true/' "$NVIM_CONF" sed -i 's/"theme": "Zenwritten Dark"/"theme": "Zenwritten Light"/' "$GEMINI_CONF" sed -i 's/"theme": "dark"/"theme": "light"/' "$CLAUDE_CONF" + sed -i "s/set -g window-style .*/set -g window-style 'bg=#E8E2DF'/" ~/.tmux.conf + sed -i "s/set -g window-active-style .*/set -g window-active-style 'bg=default'/" ~/.tmux.conf MODE="light" } @@ -23,6 +25,8 @@ set_dark_mode() { sed -E -i 's/(vim.g.light_mode[[:space:]]*=[[:space:]]*).*/\1false/' "$NVIM_CONF" sed -i 's/"theme": "Zenwritten Light"/"theme": "Zenwritten Dark"/' "$GEMINI_CONF" sed -i 's/"theme": "light"/"theme": "dark"/' "$CLAUDE_CONF" + sed -i "s/set -g window-style .*/set -g window-style 'bg=#242424'/" ~/.tmux.conf + sed -i "s/set -g window-active-style .*/set -g window-active-style 'bg=default'/" ~/.tmux.conf MODE="dark" } @@ -63,4 +67,13 @@ done # Reload Ghostty config via signal (no Accessibility permissions required) kill -SIGUSR2 $(ps aux | grep "[G]hostty.app" | awk '{print $2}') + +# Reload tmux config +tmux source-file ~/.tmux.conf + +tmux list-clients -F '#{client_tty}' | +while read -r tty; do + tmux refresh-client -R -t "$tty" +done + echo "Switched to ${MODE} mode" diff --git a/config/ghostty/config b/config/ghostty/config index 5ecbff1..a5a0c2e 100644 --- a/config/ghostty/config +++ b/config/ghostty/config @@ -1,8 +1,7 @@ # --- Basics auto-update-channel = tip -font-family = "IosevkaTerm Nerd Font Propo" -font-style = "Regular" -font-size = 13 +font-family = "DepartureMono Nerd Font Mono" +font-size = 11 background-opacity = 1.0 window-decoration = auto confirm-close-surface = false @@ -14,7 +13,6 @@ theme = zenwritten-light # Font-size keybindings (match Ctrl+Shift+j/k from WezTerm) keybind = all:ctrl+shift+k=increase_font_size:1 keybind = all:ctrl+shift+j=decrease_font_size:1 -keybind = shift+enter=text:\x1b\r # Optional: make the split divider visible (newer Ghostty) # split-divider-color = #444444 diff --git a/config/starship.toml b/config/starship.toml index e978942..9a2259c 100644 --- a/config/starship.toml +++ b/config/starship.toml @@ -8,10 +8,6 @@ $hostname\ $shlvl\ $kubernetes\ $directory\ -$git_branch\ -$git_commit\ -$git_state\ -$git_status\ $hg_branch\ $docker_context\ $package\ @@ -135,6 +131,7 @@ style = 'bold #BBBBBB' style = 'bold #BBBBBB' [gcloud] style = 'bold #BBBBBB' +disabled=true [openstack] style = 'bold #BBBBBB' [crystal] @@ -166,3 +163,4 @@ style = 'bold #BBBBBB' success_symbol = "[󰜴](bold green)" error_symbol = "[󰬅](bold red)" vicmd_symbol = "[N](bold green)" + diff --git a/home/.tmux.conf b/home/.tmux.conf index c02cb51..51b204c 100644 --- a/home/.tmux.conf +++ b/home/.tmux.conf @@ -1,6 +1,7 @@ #Make nicer tmux motion keys that work with vim as well +set -g xterm-keys on is_vim="ps -o state= -o comm= -t '#{pane_tty}' \ - | grep -iqE '^[^TXZ ]+ +(\\S+\\/)?g?(view|n?vim?x?)(diff)?$'" + | grep -iqE '^[^TXZ ]+ +(\\S+\/)?g?(view|n?vim?x?)(diff)?$'" bind-key -n C-h if-shell "$is_vim" "send-keys C-h" "select-pane -L" bind-key -n C-j if-shell "$is_vim" "send-keys C-j" "select-pane -D" @@ -70,3 +71,11 @@ setw -g window-status-bell-style 'fg=yellow bg=red bold' # messages set -g message-style 'fg=white bg=black' + +# Pass through shift+enter +set -g extended-keys on +set -g extended-keys-format csi-u + +# Dim inactive panes +set -g window-style 'fg=white,bg=gray' +set -g window-active-style 'fg=white,bg=black' diff --git a/home/.zshrc b/home/.zshrc index d0d7ebc..3ef89b4 100644 --- a/home/.zshrc +++ b/home/.zshrc @@ -44,6 +44,35 @@ alias jjn="jj new -B @ --no-edit" alias jjs="jj squash --interactive --from @ --into @-" alias jjp="jj bookmark move master --to @-; jj git push" +sandbox() { + local host_repos="$HOME/repos" + local sandbox_cwd="/workspace" + + if [[ "$PWD" == "$host_repos" ]]; then + sandbox_cwd="/workspace" + elif [[ "$PWD" == "$host_repos"/* ]]; then + sandbox_cwd="/workspace/${PWD#$host_repos/}" + fi + + if ! docker ps -a --format '{{.Names}}' | grep -q '^dev-sandbox$'; then + docker run -dit --name dev-sandbox \ + --env-file "$host_repos/dev_sandbox/.env" \ + -v "$host_repos:/workspace" \ + -v pi-state:/root/.pi \ + -v /var/run/docker.sock:/var/run/docker.sock \ + dev-sandbox:latest + else + docker start dev-sandbox 2>/dev/null + fi + + if (( $# > 0 )); then + docker exec -it -w "$sandbox_cwd" dev-sandbox /bin/zsh -l -c 'exec "$@"' sandbox "$@" + else + docker exec -it -w "$sandbox_cwd" dev-sandbox /bin/zsh -l + fi +} + + #============================================================================== # Functions #============================================================================== @@ -154,9 +183,7 @@ else alias ls="ls --classify --group-directories-first --color" fi -#if [[ -z "$TMUX" ]] && [[ -n "$PS1" ]] && [[ -z "$NO_TMUX" ]]; then -# tmux attach -t dev || tmux new -s dev -#fi + # pnpm export PNPM_HOME="/home/aselimov/.local/share/pnpm" @@ -172,3 +199,14 @@ export PATH="$PATH:/Users/aselimov/.lmstudio/bin" # starship eval "$(starship init zsh)" + +# bun completions +[ -s "/Users/aselimov/.bun/_bun" ] && source "/Users/aselimov/.bun/_bun" + +# bun +export BUN_INSTALL="$HOME/.bun" +export PATH="$BUN_INSTALL/bin:$PATH" + +if [[ -z "$TMUX" ]] && [[ -n "$PS1" ]] && [[ -z "$NO_TMUX" ]]; then + tmux attach -t dev || tmux new -s dev +fi