From 530ce0df4f2d6ae02a657bed1d6fbcb0f13ac721 Mon Sep 17 00:00:00 2001 From: Ismo Vuorinen Date: Wed, 3 Sep 2025 14:16:46 +0300 Subject: [PATCH] feat(theme): starting switch to everforest Signed-off-by: Ismo Vuorinen --- config/nvim/lua/options.lua | 4 +- config/nvim/lua/plugins/ui.lua | 124 +++++++++++------- config/tmux/theme-dark.conf | 98 +++++++++++++- config/tmux/theme-light.conf | 98 +++++++++++++- config/tmux/tmux.conf | 2 +- .../colors/everforest-dark-medium.toml | 32 +++++ .../colors/everforest-light-medium.toml | 32 +++++ config/wezterm/wezterm.lua | 8 +- 8 files changed, 334 insertions(+), 64 deletions(-) create mode 100644 config/wezterm/colors/everforest-dark-medium.toml create mode 100644 config/wezterm/colors/everforest-light-medium.toml diff --git a/config/nvim/lua/options.lua b/config/nvim/lua/options.lua index acd028c..e0c937a 100644 --- a/config/nvim/lua/options.lua +++ b/config/nvim/lua/options.lua @@ -13,7 +13,7 @@ local a = vim.api -- A table to store API functions g.mapleader = ' ' -- Space as the leader key g.maplocalleader = ' ' -- Space as the local leader key -g.colors_theme = 'onedark' -- Set the colorscheme +-- g.colors_theme = 'onedark' -- Set the colorscheme -- g.colors_variant_light = 'tokyonight-day' -- Set the light variant -- g.colors_variant_dark = 'tokyonight-storm' -- Set the dark variant @@ -65,6 +65,6 @@ vim.schedule(function() end) -- xiyaowong/transparent.nvim -vim.g.transparent_enabled = true +-- vim.g.transparent_enabled = true -- vim: ts=2 sts=2 sw=2 et diff --git a/config/nvim/lua/plugins/ui.lua b/config/nvim/lua/plugins/ui.lua index bcac1a2..ea693db 100644 --- a/config/nvim/lua/plugins/ui.lua +++ b/config/nvim/lua/plugins/ui.lua @@ -1,23 +1,52 @@ return { { - 'rose-pine/neovim', - name = 'rose-pine', - opts = { - dim_inactive_windows = false, - extend_background_behind_borders = true, - styles = { - bold = true, - italic = true, - transparency = true, - }, - enable = { - terminal = true, - legacy_highlights = true, -- Improve compatibility for previous versions of Neovim - migrations = true, -- Handle deprecated options automatically - }, - }, - config = function() vim.cmd 'colorscheme rose-pine' end, + 'neanias/everforest-nvim', + version = false, + lazy = false, + priority = 1000, -- make sure to load this before all the other start plugins + config = function() + require('everforest').setup { + background = 'soft', -- hard, medium, soft + transparent_background_level = 0, -- 0, 1, 2 + sign_column_background = 'none', -- none, dimmed, normal + disable_italic_comments = false, + diagnostic_virtual_text = 'coloured', -- coloured, gray, underline, none + diagnostic_line_highlight = true, + diagnostic_line_highlight_background = 'dimmed', -- dimmed, normal + diagnostic_text_highlight = true, + ui_contrast = 'low', -- high, low + italics = true, + spell_foreground = true, + show_eob = true, + colours_override = function() end, + float_style = 'dim', + on_highlights = function(_, _) end, + dim_inactive_windows = true, + inlay_hints_background = 'dimmed', + } + end, }, + + -- { + -- 'rose-pine/neovim', + -- name = 'rose-pine', + -- opts = { + -- dim_inactive_windows = false, + -- extend_background_behind_borders = true, + -- styles = { + -- bold = true, + -- italic = true, + -- transparency = true, + -- }, + -- enable = { + -- terminal = true, + -- legacy_highlights = true, -- Improve compatibility for previous versions of Neovim + -- migrations = true, -- Handle deprecated options automatically + -- }, + -- }, + -- config = function() vim.cmd 'colorscheme rose-pine' end, + -- }, + -- Automatic dark mode -- https://github.com/f-person/auto-dark-mode.nvim { @@ -27,12 +56,12 @@ return { set_dark_mode = function() vim.api.nvim_set_option_value('background', 'dark', {}) -- vim.cmd.colorscheme(vim.g.colors_variant_dark) - vim.cmd 'colorscheme rose-pine' + -- vim.cmd 'colorscheme rose-pine' end, set_light_mode = function() vim.api.nvim_set_option_value('background', 'light', {}) -- vim.cmd.colorscheme(vim.g.colors_variant_light) - vim.cmd 'colorscheme rose-pine-dawn' + -- vim.cmd 'colorscheme rose-pine-dawn' end, }, }, @@ -51,34 +80,35 @@ return { -- Remove all background colors to make nvim transparent -- https://github.com/xiyaowong/nvim-transparent - { - 'xiyaowong/nvim-transparent', - lazy = false, - config = function() - local t = require 'transparent' - t.setup { - extra_groups = { - 'NormalNC', - 'NormalFloat', - 'FloatTitle', - 'FloatBorder', - 'NotifyDEBUGBorder', - 'NotifyERRORBorder', - 'NotifyINFOBorder', - 'NotifyINFOBorder73', - 'NotifyINFOBorder75', - 'NotifyINFOBorder101', - 'NotifyTRACEBorder', - 'NotifyWARNBorder', - 'TelescopeBorder', - 'TelescopePromptBorder', - 'TelescopeResultsBorder', - 'TelescopePreviewBorder', - }, - } - t.clear_prefix 'NeoTree' - end, - }, + -- { + -- 'xiyaowong/nvim-transparent', + -- lazy = false, + -- enabled = false, + -- config = function() + -- local t = require 'transparent' + -- t.setup { + -- extra_groups = { + -- 'NormalNC', + -- 'NormalFloat', + -- 'FloatTitle', + -- 'FloatBorder', + -- 'NotifyDEBUGBorder', + -- 'NotifyERRORBorder', + -- 'NotifyINFOBorder', + -- 'NotifyINFOBorder73', + -- 'NotifyINFOBorder75', + -- 'NotifyINFOBorder101', + -- 'NotifyTRACEBorder', + -- 'NotifyWARNBorder', + -- 'TelescopeBorder', + -- 'TelescopePromptBorder', + -- 'TelescopeResultsBorder', + -- 'TelescopePreviewBorder', + -- }, + -- } + -- t.clear_prefix 'NeoTree' + -- end, + -- }, -- Display a character as the colorcolumn -- https://github.com/lukas-reineke/virt-column.nvim diff --git a/config/tmux/theme-dark.conf b/config/tmux/theme-dark.conf index 32d70f5..61c6211 100644 --- a/config/tmux/theme-dark.conf +++ b/config/tmux/theme-dark.conf @@ -1,7 +1,93 @@ -set-option -g status-style 'fg=#cad3f5,bg=default' -set-window-option -g window-status-style 'fg=#cad3f5,bg=default dim' -set-window-option -g window-status-current-style 'fg=#04a5e5,bg=default' -set-window-option -g window-status-activity-style 'fg=#cad3f5,bg=default nodim' -set-window-option -g window-status-bell-style 'fg=#cad3f5,bg=default' -set -g message-style 'fg=#c6a0f6 bg=#24273a bold' +# set-option -g status-style 'fg=#cad3f5,bg=default' +# set-window-option -g window-status-style 'fg=#cad3f5,bg=default dim' +# set-window-option -g window-status-current-style 'fg=#04a5e5,bg=default' +# set-window-option -g window-status-activity-style 'fg=#cad3f5,bg=default nodim' +# set-window-option -g window-status-bell-style 'fg=#cad3f5,bg=default' +# set -g message-style 'fg=#c6a0f6 bg=#24273a bold' + +## COLORSCHEME: everforest dark medium +set -g @everforest_bg_dim '#efebd4 ' +set -g @everforest_bg0 '#fdf6e3 ' +set -g @everforest_bg1 '#f6f0d9' +set -g @everforest_bg2 '#efebd4' +set -g @everforest_bg3 '#e6e2cc' +set -g @everforest_bg4 '#e0dcc7' +set -g @everforest_bg5 '#bdc3af' +set -g @everforest_bg_visual '#eaedc8' +set -g @everforest_bg_red '#fbe3da' +set -g @everforest_bg_green '#f0f1d2' +set -g @everforest_bg_blue '#e9f0e9' +set -g @everforest_bg_yellow '#faedcd' + +set -g @everforest_fg '#5c6a72' +set -g @everforest_red '#f85552' +set -g @everforest_orange '#f57d26' +set -g @everforest_yellow '#dfa000' +set -g @everforest_green '#8da101' +set -g @everforest_aqua '#35a77c' +set -g @everforest_blue '#3a94c5' +set -g @everforest_purple '#df69ba' +set -g @everforest_grey0 '#a6b0a0' +set -g @everforest_grey1 '#939f91' +set -g @everforest_grey2 '#829181' +set -g @everforest_statusline1 '#93b259' +set -g @everforest_statusline2 '#708089' +set -g @everforest_statusline3 '#e66868' + +set-option -g status "on" +set -g status-interval 2 + +set-option -g status-fg '#5c6a72' # fg (No idea why I can't use variables here) +set-option -g status-bg '#fdf6e4' # bg0 + +set-option -g mode-style fg='#{@everforest_purple}',bg='#{@everforest_bg_red}' # fg=purple, bg=bg_visual + +# default statusbar colors +set-option -g status-style fg='#{@everforest_fg}',bg='#{@everforest_bg_dim}',default # fg=fg bg=bg_dim + +# ---- Windows ---- +# default window title colors +set-window-option -g window-status-style fg='#{@everforest_bg5}',bg='#{@everforest_bg0}' # fg=yellow bg=bg0 + +# default window with an activity alert +set-window-option -g window-status-activity-style 'bg=#{@everforest_bg1},fg=#{@everforest_bg3}' # bg=bg1, fg=fg3 + +# active window title colors +set-window-option -g window-status-current-style fg='#{@everforest_fg}',bg='#{@everforest_bg_green}' # fg=fg bg=bg_green + +# ---- Pane ---- +# pane borders +set-option -g pane-border-style fg='#{@everforest_bg1}' # fg=bg1 +set-option -g pane-active-border-style 'fg=#{@everforest_blue}' # fg=blue + +# pane number display +set-option -g display-panes-active-colour '#3a9c53' # blue +set-option -g display-panes-colour '#f57d26' # orange + +# ---- Command ---- +# message info +set-option -g message-style fg='#{@everforest_statusline3}',bg='#{@everforest_bg_dim}' # fg=statusline3 bg=bg_dim + +# writing commands inactive +set-option -g message-command-style 'fg=#{@everforest_bg3},bg=#{@everforest_bg1}' # bg=fg3, fg=bg1 + +# ---- Miscellaneous ---- +# clock +set-window-option -g clock-mode-colour '#3a9c53' #blue + +# bell +set-window-option -g window-status-bell-style fg='#{@everforest_bg0}',bg='#{@everforest_statusline3}' # fg=bg, bg=statusline3 + +# ---- Formatting ---- +set-option -g status-left-style none +set -g status-left-length 60 +set -g status-left '#[fg=#{@everforest_bg_dim},bg=#{@everforest_green},bold] #S #[fg=#{@everforest_green},bg=#{@everforest_bg2},nobold]#[fg=#{@everforest_green},bg=#{@everforest_bg2},bold] #(whoami) #[fg=#{@everforest_bg2},bg=#{@everforest_bg0},nobold]' + +set-option -g status-right-style none +set -g status-right-length 150 +set -g status-right '#[fg=#{@everforest_bg2}]#[fg=#{@everforest_fg},bg=#{@everforest_bg2}] #[fg=#{@everforest_fg},bg=#{@everforest_bg2}]%Y-%m-%d  %H:%M #[fg=#{@everforest_aqua},bg=#{@everforest_bg2},bold]#[fg=#{@everforest_bg_dim},bg=#{@everforest_aqua},bold] #h ' + +set -g window-status-separator '#[fg=#{@everforest_grey2},bg=#{@everforest_bg0}] ' +set -g window-status-format "#[fg=#{@everforest_grey0},bg=#{@everforest_bg0}] #I  #[fg=#{@everforest_grey0},bg=#{@everforest_bg0}]#W " +set -g window-status-current-format "#[fg=#{@everforest_bg0},bg=#{@everforest_bg_green}]#[fg=#{@everforest_fg},bg=#{@everforest_bg_green}] #I  #[fg=#{@everforest_fg},bg=#{@everforest_bg_green},bold]#W #[fg=#{@everforest_bg_green},bg=#{@everforest_bg0},nobold]" diff --git a/config/tmux/theme-light.conf b/config/tmux/theme-light.conf index 28d920f..66f67f2 100644 --- a/config/tmux/theme-light.conf +++ b/config/tmux/theme-light.conf @@ -1,7 +1,93 @@ -set-option -g status-style 'fg=#4c4f69,bg=default' -set-window-option -g window-status-style 'fg=#4c4f69,bg=default dim' -set-window-option -g window-status-current-style 'fg=#8839ef,bg=default' -set-window-option -g window-status-activity-style 'fg=#4c4f69,bg=default nodim' -set-window-option -g window-status-bell-style 'fg=#4c4f69,bg=default' -set -g message-style 'fg=#8839ef bg=#e6e9ef bold' # fg magenta, bg black +# set-option -g status-style 'fg=#4c4f69,bg=default' +# set-window-option -g window-status-style 'fg=#4c4f69,bg=default dim' +# set-window-option -g window-status-current-style 'fg=#8839ef,bg=default' +# set-window-option -g window-status-activity-style 'fg=#4c4f69,bg=default nodim' +# set-window-option -g window-status-bell-style 'fg=#4c4f69,bg=default' +# set -g message-style 'fg=#8839ef bg=#e6e9ef bold' # fg magenta, bg black + +## COLORSCHEME: everforest light medium +set -g @everforest_bg_dim '#e5dfc5' +set -g @everforest_bg0 '#f3ead3' +set -g @everforest_bg1 '#eae4ca' +set -g @everforest_bg2 '#e5dfc5' +set -g @everforest_bg3 '#ddd8be' +set -g @everforest_bg4 '#d8d3ba' +set -g @everforest_bg5 '#b9c0ab' +set -g @everforest_bg_visual '#e1e4b0' +set -g @everforest_bg_red '#f4dbd0' +set -g @everforest_bg_green '#e5e6c5' +set -g @everforest_bg_blue '#e1e7dd' +set -g @everforest_bg_yellow '#f1e4c5' + +set -g @everforest_fg '#5c6a72' +set -g @everforest_red '#f85552' +set -g @everforest_orange '#f57d26' +set -g @everforest_yellow '#dfa000' +set -g @everforest_green '#8da101' +set -g @everforest_aqua '#35a77c' +set -g @everforest_blue '#3a94c5' +set -g @everforest_purple '#df69ba' +set -g @everforest_grey0 '#a6b0a0' +set -g @everforest_grey1 '#939f91' +set -g @everforest_grey2 '#829181' +set -g @everforest_statusline1 '#93b259' +set -g @everforest_statusline2 '#708089' +set -g @everforest_statusline3 '#e66868' + +set-option -g status "on" +set -g status-interval 2 + +set-option -g status-fg '#5c6a72' # fg (No idea why I can't use variables here) +set-option -g status-bg '#f3ead3' # bg0 + +set-option -g mode-style fg='#{@everforest_purple}',bg='#{@everforest_bg_red}' # fg=purple, bg=bg_visual + +# default statusbar colors +set-option -g status-style fg='#{@everforest_fg}',bg='#{@everforest_bg_dim}',default # fg=fg bg=bg_dim + +# ---- Windows ---- +# default window title colors +set-window-option -g window-status-style fg='#{@everforest_bg5}',bg='#{@everforest_bg0}' # fg=yellow bg=bg0 + +# default window with an activity alert +set-window-option -g window-status-activity-style 'bg=#{@everforest_bg1},fg=#{@everforest_bg3}' # bg=bg1, fg=fg3 + +# active window title colors +set-window-option -g window-status-current-style fg='#{@everforest_fg}',bg='#{@everforest_bg_green}' # fg=fg bg=bg_green + +# ---- Pane ---- +# pane borders +set-option -g pane-border-style fg='#{@everforest_bg1}' # fg=bg1 +set-option -g pane-active-border-style 'fg=#{@everforest_blue}' # fg=blue + +# pane number display +set-option -g display-panes-active-colour '#3a9c53' # blue +set-option -g display-panes-colour '#f57d26' # orange + +# ---- Command ---- +# message info +set-option -g message-style fg='#{@everforest_statusline3}',bg='#{@everforest_bg_dim}' # fg=statusline3 bg=bg_dim + +# writing commands inactive +set-option -g message-command-style 'fg=#{@everforest_bg3},bg=#{@everforest_bg1}' # bg=fg3, fg=bg1 + +# ---- Miscellaneous ---- +# clock +set-window-option -g clock-mode-colour '#3a9c53' #blue + +# bell +set-window-option -g window-status-bell-style fg='#{@everforest_bg0}',bg='#{@everforest_statusline3}' # fg=bg, bg=statusline3 + +# ---- Formatting ---- +set-option -g status-left-style none +set -g status-left-length 60 +set -g status-left '#[fg=#{@everforest_bg_dim},bg=#{@everforest_green},bold] #S #[fg=#{@everforest_green},bg=#{@everforest_bg2},nobold]#[fg=#{@everforest_green},bg=#{@everforest_bg2},bold] #(whoami) #[fg=#{@everforest_bg2},bg=#{@everforest_bg0},nobold]' + +set-option -g status-right-style none +set -g status-right-length 150 +set -g status-right '#[fg=#{@everforest_bg2}]#[fg=#{@everforest_fg},bg=#{@everforest_bg2}] #[fg=#{@everforest_fg},bg=#{@everforest_bg2}]%Y-%m-%d  %H:%M #[fg=#{@everforest_aqua},bg=#{@everforest_bg2},bold]#[fg=#{@everforest_bg_dim},bg=#{@everforest_aqua},bold] #h ' + +set -g window-status-separator '#[fg=#{@everforest_grey2},bg=#{@everforest_bg0}] ' +set -g window-status-format "#[fg=#{@everforest_grey0},bg=#{@everforest_bg0}] #I  #[fg=#{@everforest_grey0},bg=#{@everforest_bg0}]#W " +set -g window-status-current-format "#[fg=#{@everforest_bg0},bg=#{@everforest_bg_green}]#[fg=#{@everforest_fg},bg=#{@everforest_bg_green}] #I  #[fg=#{@everforest_fg},bg=#{@everforest_bg_green},bold]#W #[fg=#{@everforest_bg_green},bg=#{@everforest_bg0},nobold]" diff --git a/config/tmux/tmux.conf b/config/tmux/tmux.conf index 9dfe0b0..bb65bc5 100644 --- a/config/tmux/tmux.conf +++ b/config/tmux/tmux.conf @@ -114,7 +114,7 @@ bind -N "tms refresh" C-r display-popup -E "tms refresh" # Plugin that lets you suspend local tmux session, # so that you can work with nested remote tmux session painlessly. # https://github.com/MunifTanjim/tmux-suspend -set -g @suspend_key 'C-i' # Ctrl + inner +# set -g @suspend_key 'F8' # Default is F12 ## A plugin to name your tmux windows smartly. ## https://github.com/ofirgall/tmux-window-name diff --git a/config/wezterm/colors/everforest-dark-medium.toml b/config/wezterm/colors/everforest-dark-medium.toml new file mode 100644 index 0000000..89be5c8 --- /dev/null +++ b/config/wezterm/colors/everforest-dark-medium.toml @@ -0,0 +1,32 @@ +[colors] +ansi = [ + '#475258', + '#e67e80', + '#a7c080', + '#dbbc7f', + '#7fbbb3', + '#d699b6', + '#83c092', + '#d3c6aa', +] +background = '#2d353b' +brights = [ + '#475258', + '#e67e80', + '#a7c080', + '#dbbc7f', + '#7fbbb3', + '#d699b6', + '#83c092', + '#d3c6aa', +] +cursor_bg = '#d3c6aa' +cursor_border = '#d3c6aa' +cursor_fg = '#2d353b' +foreground = '#d3c6aa' + +[colors.indexed] + +[metadata] +name = 'Everforest Dark (Medium)' +origin_url = 'https://github.com/frdwin/Everforest-Wezterm' diff --git a/config/wezterm/colors/everforest-light-medium.toml b/config/wezterm/colors/everforest-light-medium.toml new file mode 100644 index 0000000..b5cd43f --- /dev/null +++ b/config/wezterm/colors/everforest-light-medium.toml @@ -0,0 +1,32 @@ +[colors] +ansi = [ + '#5c6a72', + '#f85552', + '#8da101', + '#dfa000', + '#3a94c5', + '#df69ba', + '#35a77c', + '#e0dcc7', +] +background = '#fdf6e3' +brights = [ + '#5c6a72', + '#f85552', + '#8da101', + '#dfa000', + '#3a94c5', + '#df69ba', + '#35a77c', + '#e0dcc7', +] +cursor_bg = '#5c6a72' +cursor_border = '#5c6a72' +cursor_fg = '#fdf6e3' +foreground = '#5c6a72' + +[colors.indexed] + +[metadata] +name = 'Everforest Light (Medium)' +origin_url = 'https://github.com/frdwin/Everforest-Wezterm' diff --git a/config/wezterm/wezterm.lua b/config/wezterm/wezterm.lua index 817c0c8..8e54e3b 100644 --- a/config/wezterm/wezterm.lua +++ b/config/wezterm/wezterm.lua @@ -5,6 +5,10 @@ config.set_environment_variables = { COLORTERM = 'truecolor', } +config.color_scheme_dirs = { + '~/.config/wezterm/colors', +} + -- Font and font size config.font_size = 16 config.font = wezterm.font_with_fallback { @@ -45,9 +49,9 @@ config.scrollback_lines = 3000 -- Function to detect the theme based on appearance function Scheme_for_appearance(appearance) if appearance:find 'Dark' then - return 'Tokyo Night Storm' + return 'Everforest Dark (Medium)' else - return 'Tokyo Night Day' + return 'Everforest Light (Medium)' end end