From c0b9902d2e09a917fd68befcdbf1bda392518d9c Mon Sep 17 00:00:00 2001 From: Chun Li Date: Sat, 28 Mar 2026 19:59:01 -0700 Subject: [PATCH] Update tmux, p10k with rosepine colorschemes --- CLAUDE.md | 14 ++++++++++++++ README.md | 28 +++++++++++++++++++++++++--- tmux/.tmux.conf | 10 ++++++---- zsh/.p10k.zsh | 10 +++++----- 4 files changed, 50 insertions(+), 12 deletions(-) diff --git a/CLAUDE.md b/CLAUDE.md index 6931348..a430b05 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -41,6 +41,20 @@ stow -D nvim - Prefix: `C-a` - Copy uses `wl-copy` (Wayland clipboard) - vi-mode keys; vim-style pane navigation +- Status bar styled with Rosé Pine hex colors (overlay bg `#26233a`, foam active window `#9ccfd8`, iris time `#c4a7e7`) +- Extended keys enabled (`extended-keys on`) for Shift+Enter passthrough from kitty + +**zsh** (`zsh/.zshrc`, `zsh/.p10k.zsh`): + +- Prompt: Powerlevel10k with instant prompt (async rendering) +- Custom `prompt_jj` segment in `.p10k.zsh` shows jj change ID, bookmarks, and flags (conflict/divergent/empty) +- Plugins: `zsh-autosuggestions` (fish-like inline suggestions), `fzf` (history/file search) +- Powerlevel10k sourced from `/usr/share/zsh-theme-powerlevel10k/` (Arch); on Debian clone manually to `~/powerlevel10k/` + +**kitty** (`kitty/.config/kitty/kitty.conf`): + +- Theme: Rosé Pine (via `current-theme.conf`) +- `map shift+enter send_text all \x1b[13;2u` enables Shift+Enter passthrough to tmux **JJ** (`jj/.config/jj/config.toml`): diff --git a/README.md b/README.md index eff9f96..e377df5 100644 --- a/README.md +++ b/README.md @@ -2,11 +2,25 @@ ## Install +### Arch ```sh -sudo pacman -S zsh-autosuggestions zsh-autocomplete fzf -stow git zsh nvim vim tmux claude kitty +sudo pacman -S zsh-autosuggestions fzf +yay -S zsh-theme-powerlevel10k ttf-meslo-nerd +stow git zsh nvim vim tmux jj kitty ``` +### Debian +```sh +apt install zsh zsh-autosuggestions fzf +# Install powerlevel10k manually: +git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ~/powerlevel10k +# Install jj from prebuilt binary or: cargo install jj-cli +# Install MesloLGS Nerd Font manually into ~/.local/share/fonts/ +stow git zsh nvim vim tmux jj kitty +``` + +> Note: on Debian, zsh-autosuggestions path differs — update the `source` line in `.zshrc` if needed. + ## Neovim Leader key: `,` @@ -23,9 +37,17 @@ Leader key: `,` LSPs: `lua_ls`, `ts_ls`, `pyright`. Formatting on save via conform.nvim (stylua, prettier). +## zsh + +Prompt via Powerlevel10k with instant prompt (async). Segments: directory, jj status, exit status, execution time, time. + +- `zsh-autosuggestions` for fish-like inline suggestions +- `fzf` for Ctrl+R history search and Ctrl+T file search +- Custom jj segment shows change ID, bookmarks, and conflict/divergent/empty flags + ## tmux -Prefix: `C-a` +Prefix: `C-a`. Status bar styled with Rosé Pine colors. | Key | Action | | ------------------- | --------------------------- | diff --git a/tmux/.tmux.conf b/tmux/.tmux.conf index 086715f..326bd92 100644 --- a/tmux/.tmux.conf +++ b/tmux/.tmux.conf @@ -46,11 +46,13 @@ bind-key ] paste-buffer bind-key -T copy-mode-vi Enter send-keys -X copy-pipe-and-cancel 'wl-copy --foreground' bind-key -T copy-mode-vi v send-keys -X begin-selection -# Status Bar +# Status Bar (Rosé Pine) set-option -g status-interval 1 +set-option -g status-style 'fg=#908caa,bg=#26233a' set-option -g status-left '' -set-option -g status-right '%H:%M ' -set -g window-status-current-style 'fg=black,bg=blue' +set-option -g status-right '#[fg=#191724,bg=#c4a7e7] %H:%M ' +set -g window-status-format '#[fg=#908caa,bg=#26233a] #I:#W ' +set -g window-status-current-format '#[fg=#191724,bg=#9ccfd8,bold] #I:#W ' # Set window notifications setw -g monitor-activity on @@ -62,7 +64,7 @@ set-option -g repeat-time 0 # From tmux-sensible set -s escape-time 0 set -g history-limit 50000 -set -g display-time 4000 +set -g display-time 750 set -g default-terminal "screen-256color" set -g extended-keys on set -as terminal-features ",screen-256color:extkeys" diff --git a/zsh/.p10k.zsh b/zsh/.p10k.zsh index a73766a..a02eee3 100644 --- a/zsh/.p10k.zsh +++ b/zsh/.p10k.zsh @@ -215,9 +215,9 @@ ##################################[ dir: current directory ]################################## # Current directory background color. - typeset -g POWERLEVEL9K_DIR_BACKGROUND=4 + typeset -g POWERLEVEL9K_DIR_BACKGROUND=5 # Default current directory foreground color. - typeset -g POWERLEVEL9K_DIR_FOREGROUND=254 + typeset -g POWERLEVEL9K_DIR_FOREGROUND=0 # If directory is too long, shorten some of its segments to the shortest possible unique # prefix. The shortened directory can be tab-completed to the original. typeset -g POWERLEVEL9K_SHORTEN_STRATEGY=truncate_to_unique @@ -527,7 +527,7 @@ # it will signify error by turning red. typeset -g POWERLEVEL9K_STATUS_ERROR=true typeset -g POWERLEVEL9K_STATUS_ERROR_VISUAL_IDENTIFIER_EXPANSION='✘' - typeset -g POWERLEVEL9K_STATUS_ERROR_FOREGROUND=3 + typeset -g POWERLEVEL9K_STATUS_ERROR_FOREGROUND=255 typeset -g POWERLEVEL9K_STATUS_ERROR_BACKGROUND=1 # Status when the last command was terminated by a signal. @@ -1752,7 +1752,7 @@ ####################################[ time: current time ]#################################### # Current time color. typeset -g POWERLEVEL9K_TIME_FOREGROUND=0 - typeset -g POWERLEVEL9K_TIME_BACKGROUND=7 + typeset -g POWERLEVEL9K_TIME_BACKGROUND=6 # Format for the current time: 09:51:02. See `man 3 strftime`. typeset -g POWERLEVEL9K_TIME_FORMAT='%D{%H:%M:%S}' # If set to true, time will update when you hit enter. This way prompts for the past @@ -1790,7 +1790,7 @@ } typeset -g POWERLEVEL9K_JJ_FOREGROUND=0 - typeset -g POWERLEVEL9K_JJ_BACKGROUND=4 + typeset -g POWERLEVEL9K_JJ_BACKGROUND=2 # Transient prompt works similarly to the builtin transient_rprompt option. It trims down prompt # when accepting a command line. Supported values: