From e5fb57c2794c7e2a6fd474f2f9197046d890088b Mon Sep 17 00:00:00 2001 From: _N0x Date: Wed, 5 Aug 2026 10:13:57 +0200 Subject: [PATCH] First iteration of cursor dark theme for kitty, tmux, fish --- fish/.config/fish/fish_variables | 52 +++++++------- fish/.config/fish/functions/fish_prompt.fish | 27 ++++---- kitty/.config/kitty/kitty.conf | 71 +++++++++----------- tmux/.tmux.conf | 65 +++++++++++++++++- tmux/.tmux/plugins/nord-tmux | 1 - tmux/.tmux/plugins/tmux-sensible | 1 - tmux/.tmux/plugins/tmux-yank | 1 - tmux/.tmux/plugins/tpm | 1 - 8 files changed, 136 insertions(+), 83 deletions(-) delete mode 160000 tmux/.tmux/plugins/nord-tmux delete mode 160000 tmux/.tmux/plugins/tmux-sensible delete mode 160000 tmux/.tmux/plugins/tmux-yank delete mode 160000 tmux/.tmux/plugins/tpm diff --git a/fish/.config/fish/fish_variables b/fish/.config/fish/fish_variables index 9807e17..a7d9352 100644 --- a/fish/.config/fish/fish_variables +++ b/fish/.config/fish/fish_variables @@ -1,36 +1,42 @@ # This file contains fish universal variable definitions. # VERSION: 3.0 +SETUVAR --export BROWSER:wslview +SETUVAR --export COMPOSE_BAKE:true +SETUVAR --export DISPLAY:\x3a0 SETUVAR --export EDITOR:nvim +SETUVAR --export PYENV_ROOT:/home/tfoerster/\x2epyenv SETUVAR --export VISUAL:nvim SETUVAR --export _JAVA_AWT_WM_NONREPARENTING:1 SETUVAR __fish_initialized:3800 -SETUVAR fish_color_autosuggestion:4c566a +SETUVAR fish_color_autosuggestion:666666 SETUVAR fish_color_cancel:\x2dr -SETUVAR fish_color_command:green -SETUVAR fish_color_comment:434c5e -SETUVAR fish_color_cwd:green -SETUVAR fish_color_cwd_root:red -SETUVAR fish_color_end:88c0d0 -SETUVAR fish_color_error:ebcb8b -SETUVAR fish_color_escape:00a6b2 +SETUVAR fish_color_command:569CD6 +SETUVAR fish_color_comment:6A9955 +SETUVAR fish_color_cwd:4EC9B0 +SETUVAR fish_color_cwd_root:F14C4C +SETUVAR fish_color_end:C586C0 +SETUVAR fish_color_error:F14C4C +SETUVAR fish_color_escape:D7BA7D SETUVAR fish_color_history_current:\x2d\x2dbold -SETUVAR fish_color_host:normal -SETUVAR fish_color_host_remote:yellow -SETUVAR fish_color_match:\x2d\x2dbackground\x3dbrblue +SETUVAR fish_color_host:569CD6 +SETUVAR fish_color_host_remote:DCDCAA +SETUVAR fish_color_keyword:C586C0 +SETUVAR fish_color_match:\x2d\x2dbackground\x3d264F78 SETUVAR fish_color_normal:normal -SETUVAR fish_color_operator:00a6b2 +SETUVAR fish_color_operator:D4D4D4 +SETUVAR fish_color_option:9CDCFE SETUVAR fish_color_param:normal -SETUVAR fish_color_quote:999900 -SETUVAR fish_color_redirection:00afff -SETUVAR fish_color_search_match:white\x1e\x2d\x2dbackground\x3dbrblack -SETUVAR fish_color_selection:white\x1e\x2d\x2dbold\x1e\x2d\x2dbackground\x3dbrblack -SETUVAR fish_color_status:red -SETUVAR fish_color_user:brgreen +SETUVAR fish_color_quote:CE9178 +SETUVAR fish_color_redirection:9CDCFE +SETUVAR fish_color_search_match:\x2d\x2dbackground\x3d264F78 +SETUVAR fish_color_selection:E5E5E5\x1e\x2d\x2dbold\x1e\x2d\x2dbackground\x3d264F78 +SETUVAR fish_color_status:F14C4C +SETUVAR fish_color_user:9CDCFE SETUVAR fish_color_valid_path:\x2d\x2dunderline SETUVAR fish_key_bindings:fish_default_key_bindings SETUVAR fish_pager_color_completion:normal -SETUVAR fish_pager_color_description:B3A06D\x1eyellow -SETUVAR fish_pager_color_prefix:normal\x1e\x2d\x2dbold\x1e\x2d\x2dunderline -SETUVAR fish_pager_color_progress:brwhite\x1e\x2d\x2dbackground\x3dcyan -SETUVAR fish_pager_color_selected_background:\x2dr -SETUVAR fish_user_paths:/home/n0x/\x2ecargo/bin\x1e/home/n0x/\x2elocal/bin +SETUVAR fish_pager_color_description:9D9D9D +SETUVAR fish_pager_color_prefix:569CD6\x1e\x2d\x2dbold\x1e\x2d\x2dunderline +SETUVAR fish_pager_color_progress:E5E5E5\x1e\x2d\x2dbackground\x3d264F78 +SETUVAR fish_pager_color_selected_background:\x2d\x2dbackground\x3d264F78 +SETUVAR fish_user_paths:/home/tfoerster/\x2eopencode/bin\x1e/home/tfoerster/\x2elocal/bin diff --git a/fish/.config/fish/functions/fish_prompt.fish b/fish/.config/fish/functions/fish_prompt.fish index 526d740..5b934dd 100644 --- a/fish/.config/fish/functions/fish_prompt.fish +++ b/fish/.config/fish/functions/fish_prompt.fish @@ -1,20 +1,19 @@ set fish_prompt_pwd_dir_length 0 set __fish_git_prompt_show_informative_status 1 -# Fish command and parameter colors -set fish_color_command green -set fish_color_param $fish_color_normal +# Command and parameter colors come from fish_variables (Cursor Dark) # Git prompt set __fish_git_prompt_showdirtystate 'yes' set __fish_git_prompt_showupstream 'yes' -set __fish_git_prompt_color_branch brown -set __fish_git_prompt_color_dirtystate FCBC47 -set __fish_git_prompt_color_stagedstate yellow -set __fish_git_prompt_color_upstream cyan -set __fish_git_prompt_color_cleanstate green -set __fish_git_prompt_color_invalidstate red +# Colors mirror Cursor's git decorations +set __fish_git_prompt_color_branch 569CD6 +set __fish_git_prompt_color_dirtystate E2C08D +set __fish_git_prompt_color_stagedstate 73C991 +set __fish_git_prompt_color_upstream 4EC9B0 +set __fish_git_prompt_color_cleanstate 73C991 +set __fish_git_prompt_color_invalidstate E4676B # Git Characters set __fish_git_prompt_char_dirtystate '*' @@ -41,9 +40,9 @@ end function _prompt_color_for_status if test $argv[1] -eq 0 - echo magenta + echo C586C0 else - echo red + echo F14C4C end end @@ -51,7 +50,7 @@ function fish_prompt set -l last_status $status # username and hostname - _print_in_color "┏["$USER"@"(prompt_hostname)"]" blue + _print_in_color "┏["$USER"@"(prompt_hostname)"]" 569CD6 # current working dir _print_in_color " "(prompt_pwd) $fish_color_cwd @@ -59,10 +58,10 @@ function fish_prompt __fish_git_prompt " (%s)" # beginning of new line - _print_in_color "\n┗" blue + _print_in_color "\n┗" 569CD6 # time information - _print_in_color " "(date "+%H:%M:%S") green + _print_in_color " "(date "+%H:%M:%S") 73C991 # little error that indicates the status of the previous command _print_in_color " ❯ " (_prompt_color_for_status $last_status) diff --git a/kitty/.config/kitty/kitty.conf b/kitty/.config/kitty/kitty.conf index 3a31235..6b14927 100644 --- a/kitty/.config/kitty/kitty.conf +++ b/kitty/.config/kitty/kitty.conf @@ -13,64 +13,64 @@ symbol_map U+e000-U+e00a,U+ea60-U+ebeb,U+e0a0-U+e0c8,U+e0ca,U+e0cc-U+e0d7,U+e200 # Transparency background_opacity 0.85 -foreground #d3c6aa -background #2b3339 -selection_foreground #9da9a0 -selection_background #503946 +foreground #cccccc +background #181818 +selection_foreground none +selection_background #264f78 -cursor #d3c6aa -cursor_text_color #323c41 +cursor #aeafad +cursor_text_color #181818 -url_color #7fbbb3 +url_color #3b8eea -active_border_color #a7c080 -inactive_border_color #53605c -bell_border_color #e69875 +active_border_color #2472c8 +inactive_border_color #2b2b2b +bell_border_color #e5e510 visual_bell_color none wayland_titlebar_color system macos_titlebar_color system -active_tab_background #2b3339 -active_tab_foreground #d3c6aa -inactive_tab_background #3a454a -inactive_tab_foreground #9da9a0 -tab_bar_background #323c41 +active_tab_background #1f1f1f +active_tab_foreground #ffffff +inactive_tab_background #181818 +inactive_tab_foreground #9d9d9d +tab_bar_background #181818 tab_bar_margin_color none -# Set up term-colors (Nord Theme) +# Set up term-colors (Cursor Dark) #: black -color0 #374247 -color8 #404c51 +color0 #000000 +color8 #666666 #: red -color1 #e67e80 -color9 #e67e80 +color1 #cd3131 +color9 #f14c4c #: green -color2 #a7c080 -color10 #a7c080 +color2 #0dbc79 +color10 #23d18b #: yellow -color3 #dbbc7f -color11 #dbbc7f +color3 #e5e510 +color11 #f5f543 #: blue -color4 #7fbbb3 -color12 #7fbbb3 +color4 #2472c8 +color12 #3b8eea #: magenta -color5 #d699b6 -color13 #d699b6 +color5 #bc3fbc +color13 #d670d6 #: cyan -color6 #83c092 -color14 #83c092 +color6 #11a8cd +color14 #29b8db #: white -color7 #859289 -color15 #9da9a0 +color7 #e5e5e5 +color15 #e5e5e5 # The cursor shape can be one of (block, beam, underline) @@ -89,13 +89,6 @@ window_border_width 0 window_margin_width 20 -# The color for the border of the active window -active_border_color #ffffff - -# The color for the border of inactive windows -inactive_border_color #cccccc - - # Manage font size map ctrl+shift+up increase_font_size map ctrl+shift+down decrease_font_size diff --git a/tmux/.tmux.conf b/tmux/.tmux.conf index 4e9871c..64bdee9 100644 --- a/tmux/.tmux.conf +++ b/tmux/.tmux.conf @@ -22,6 +22,48 @@ set -g mouse on set-option -g status-position bottom set-option -g renumber-windows on +# ========================== +# === Cursor Dark theme === +# ========================== +# Powerline status bar, ported from nordtheme/tmux with Cursor Dark colors. +# Requires a patched (Nerd) font for the U+E0B0-E0B3 separators. +# +# bar bg #181818 raised segment #2b2b2b text #cccccc +# session #2472c8 current window / host #11a8cd + +set -g status on +set -g status-interval 1 +set -g status-justify left +set -g status-style "bg=#181818,fg=#cccccc" +set -g status-left-length 40 +set -g status-right-length 80 + +#+--- Bars ---+ +set -g status-left "#[fg=#ffffff,bg=#2472c8,bold] #S #[fg=#2472c8,bg=#181818,nobold,noitalics,nounderscore]" +set -g status-right "#[fg=#2b2b2b,bg=#181818,nobold,noitalics,nounderscore]#[fg=#cccccc,bg=#2b2b2b] %Y-%m-%d #[fg=#cccccc,bg=#2b2b2b,nobold,noitalics,nounderscore]#[fg=#cccccc,bg=#2b2b2b] %H:%M #[fg=#11a8cd,bg=#2b2b2b,nobold,noitalics,nounderscore]#[fg=#181818,bg=#11a8cd,bold] #H " + +#+--- Windows ---+ +set -g window-status-format "#[fg=#181818,bg=#2b2b2b,nobold,noitalics,nounderscore] #[fg=#cccccc,bg=#2b2b2b]#I #[fg=#cccccc,bg=#2b2b2b,nobold,noitalics,nounderscore] #[fg=#cccccc,bg=#2b2b2b]#W #F #[fg=#2b2b2b,bg=#181818,nobold,noitalics,nounderscore]" +set -g window-status-current-format "#[fg=#181818,bg=#11a8cd,nobold,noitalics,nounderscore] #[fg=#181818,bg=#11a8cd]#I #[fg=#181818,bg=#11a8cd,nobold,noitalics,nounderscore] #[fg=#181818,bg=#11a8cd]#W #F #[fg=#11a8cd,bg=#181818,nobold,noitalics,nounderscore]" +set -g window-status-separator "" +# Let the formats above own the colors; activity/bell still show via the #F flag +setw -g window-status-activity-style "none" +setw -g window-status-bell-style "none" + +#+--- Panes ---+ +set -g pane-border-style "bg=default,fg=#2b2b2b" +set -g pane-active-border-style "bg=default,fg=#2472c8" +set -g display-panes-colour "#666666" +set -g display-panes-active-colour "#2472c8" + +#+--- Messages ---+ +set -g message-style "bg=#2b2b2b,fg=#11a8cd" +set -g message-command-style "bg=#2b2b2b,fg=#11a8cd" +setw -g mode-style "bg=#264f78,fg=#e5e5e5" + +#+--- Clock ---+ +setw -g clock-mode-colour "#11a8cd" + # ================================================ # === Copy mode, scroll and clipboard === # ================================================ @@ -92,12 +134,29 @@ bind -T copy-mode-vi MouseDown1Pane select-pane \;\ # tmux show-options -g -s set-clipboard # set-clipboard on|external -# List of plugins -set -g @plugin 'tmux-plugins/tpm' +# ========================== +# === Plugins === +# ========================== +# Nothing under ~/.tmux/plugins is tracked in git - tpm owns that directory and +# clones everything listed below itself. Do not commit the plugin folders: they +# would be checked out as empty dirs, and tpm would then skip installing them. +set -g @plugin 'tmux-plugins/tpm' set -g @plugin 'tmux-plugins/tmux-sensible' set -g @plugin 'tmux-plugins/tmux-yank' -set -g @plugin "arcticicestudio/nord-tmux" + +# tpm and its installer both resolve the plugin dir from this tmux environment +# variable, and only the tpm script itself sets it. Pin it up-front so the +# installer below already works on the very first run. +run 'tmux set-environment -g TMUX_PLUGIN_MANAGER_PATH "$HOME/.tmux/plugins/"' + +# Bootstrap tpm itself on a machine that has never run it +if "test ! -d ~/.tmux/plugins/tpm" \ + "run 'git clone -q --single-branch https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm'" + +# Clone any declared plugin that is missing. Deliberately in the foreground, so +# plugins installed here are already on disk when tpm sources them below. +run '~/.tmux/plugins/tpm/bin/install_plugins' # Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf) run '~/.tmux/plugins/tpm/tpm' diff --git a/tmux/.tmux/plugins/nord-tmux b/tmux/.tmux/plugins/nord-tmux deleted file mode 160000 index f7b6da0..0000000 --- a/tmux/.tmux/plugins/nord-tmux +++ /dev/null @@ -1 +0,0 @@ -Subproject commit f7b6da07ab55fe32ee5f7d62da56d8e5ac691a92 diff --git a/tmux/.tmux/plugins/tmux-sensible b/tmux/.tmux/plugins/tmux-sensible deleted file mode 160000 index 25cb91f..0000000 --- a/tmux/.tmux/plugins/tmux-sensible +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 25cb91f42d020f675bb0a2ce3fbd3a5d96119efa diff --git a/tmux/.tmux/plugins/tmux-yank b/tmux/.tmux/plugins/tmux-yank deleted file mode 160000 index acfd36e..0000000 --- a/tmux/.tmux/plugins/tmux-yank +++ /dev/null @@ -1 +0,0 @@ -Subproject commit acfd36e4fcba99f8310a7dfb432111c242fe7392 diff --git a/tmux/.tmux/plugins/tpm b/tmux/.tmux/plugins/tpm deleted file mode 160000 index 99469c4..0000000 --- a/tmux/.tmux/plugins/tpm +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 99469c4a9b1ccf77fade25842dc7bafbc8ce9946