diff --git a/aerc/.config/aerc/aerc.conf b/aerc/.config/aerc/aerc.conf index 712d20e..6ce822f 100644 --- a/aerc/.config/aerc/aerc.conf +++ b/aerc/.config/aerc/aerc.conf @@ -98,8 +98,7 @@ index-format=notmuch://~/.local/share/mail #index-columns=flags:4,name<20%,subject,date>= border-char-vertical="│" border-char-horizontal="─" -# styleset-name=catppuccin-mocha -styleset-name=rose-pine +# styleset-name=rose-pine # # Each name in index-columns must have a corresponding column-$name setting. @@ -638,9 +637,16 @@ header-layout=From,To,Subject,Date #parse-http-links=true [compose] -editor=nvim # or your preferred editor +editor=nvim +'set ft=mail' + +# editor=nvim +setf\ mail +# editor=nvim # or your preferred editor +# Address book command address-book-cmd=abook --mutt-query '%s' -# Specifies the command to run the editor with. It will be shown in an embedded + +# Auto-complete addresses +# address-book-cmd-match='%s' +# address-book-cmd=abook --mutt-query '%s' # terminal, though it may also launch a graphical window if the environment # supports it. Defaults to $EDITOR, or vi. #editor= diff --git a/aerc/.config/aerc/themes/catppuccin-mocha b/aerc/.config/aerc/themes/catppuccin-mocha deleted file mode 100644 index bf41e50..0000000 --- a/aerc/.config/aerc/themes/catppuccin-mocha +++ /dev/null @@ -1,51 +0,0 @@ -*.default=true -*.normal=true - -default.fg=#cdd6f4 - -error.fg=#f38ba8 -warning.fg=#fab387 -success.fg=#a6e3a1 - -tab.fg=#6c7086 -tab.bg=#181825 -tab.selected.fg=#cdd6f4 -tab.selected.bg=#1e1e2e -tab.selected.bold=true - -border.fg=#11111b -border.bold=true - -msglist_unread.bold=true -msglist_flagged.fg=#f9e2af -msglist_flagged.bold=true -msglist_result.fg=#89b4fa -msglist_result.bold=true -msglist_*.selected.bold=true -msglist_*.selected.bg=#313244 - -dirlist_*.selected.bold=true -dirlist_*.selected.bg=#313244 - -statusline_default.fg=#9399b2 -statusline_default.bg=#313244 -statusline_error.bold=true -statusline_success.bold=true - -selector_focused.bg=#313244 - -completion_default.selected.bg=#313244 - -[viewer] -url.fg=#89b4fa -url.underline=true -header.bold=true -signature.dim=true -diff_meta.bold=true -diff_chunk.fg=#89b4fa -diff_chunk_func.fg=#89b4fa -diff_chunk_func.bold=true -diff_add.fg=#a6e3a1 -diff_del.fg=#f38ba8 -quote_*.fg=#6c7086 -quote_1.fg=#9399b2 diff --git a/backgrounds/.config/backgrounds/slack breathing space community.pptx b/backgrounds/.config/backgrounds/slack breathing space community.pptx new file mode 100644 index 0000000..f62660e Binary files /dev/null and b/backgrounds/.config/backgrounds/slack breathing space community.pptx differ diff --git a/hypr/.config/hypr/shaders/brightness.frag b/hypr/.config/hypr/shaders/brightness.frag new file mode 100644 index 0000000..81000c1 --- /dev/null +++ b/hypr/.config/hypr/shaders/brightness.frag @@ -0,0 +1,16 @@ +#version 300 es + +precision mediump float; + +in vec2 v_texcoord; +out vec4 fragColor; +uniform sampler2D tex; + +void main() { + vec4 pixColor = texture(tex, v_texcoord); + + // Adjust brightness + pixColor.rgb *= 1.00; + + fragColor = pixColor; +} diff --git a/kitty/.config/kitty/current-theme.conf b/kitty/.config/kitty/current-theme.conf index 4d4de88..a856d7f 100644 --- a/kitty/.config/kitty/current-theme.conf +++ b/kitty/.config/kitty/current-theme.conf @@ -1,56 +1,47 @@ -## name: Rosé Pine Moon -## author: mvllow -## license: MIT -## upstream: https://github.com/rose-pine/kitty/blob/main/dist/rose-pine-moon.conf -## blurb: All natural pine, faux fur and a bit of soho vibes for the classy minimalist +background #282828 +foreground #d4be98 -foreground #e0def4 -background #232136 -selection_foreground #e0def4 -selection_background #44415a +selection_background #d4be98 +selection_foreground #282828 -cursor #56526e -cursor_text_color #e0def4 +cursor #a89984 +cursor_text_color background -url_color #c4a7e7 +active_tab_background #282828 +active_tab_foreground #d4be98 +active_tab_font_style bold +inactive_tab_background #282828 +inactive_tab_foreground #a89984 +inactive_tab_font_style normal -active_tab_foreground #e0def4 -active_tab_background #393552 -inactive_tab_foreground #6e6a86 -inactive_tab_background #232136 +# Black +color0 #665c54 +color8 #928374 -active_border_color #3e8fb0 -inactive_border_color #44415a +# Red +color1 #ea6962 +color9 #ea6962 -# black -color0 #393552 -color8 #6e6a86 +# Green +color2 #a9b665 +color10 #a9b665 -# red -color1 #eb6f92 -color9 #eb6f92 +# Yellow +color3 #e78a4e +color11 #d8a657 -# green -color2 #3e8fb0 -color10 #3e8fb0 +# Blue +color4 #7daea3 +color12 #7daea3 -# yellow -color3 #f6c177 -color11 #f6c177 +# Magenta +color5 #d3869b +color13 #d3869b -# blue -color4 #9ccfd8 -color12 #9ccfd8 - -# magenta -color5 #c4a7e7 -color13 #c4a7e7 - -# cyan -color6 #ea9a97 -color14 #ea9a97 - -# white -color7 #e0def4 -color15 #e0def4 +# Cyan +color6 #89b482 +color14 #89b482 +# White +color7 #d4be98 +color15 #d4be98 diff --git a/kitty/.config/kitty/kitty.conf b/kitty/.config/kitty/kitty.conf index ac36485..b547fa0 100644 --- a/kitty/.config/kitty/kitty.conf +++ b/kitty/.config/kitty/kitty.conf @@ -1,8 +1,9 @@ # BEGIN_KITTY_THEME -# Rosé Pine Moon +# Gruvbox Material include current-theme.conf # END_KITTY_THEME # +shell zsh --login font_family JetBrainsMono Nerd Font bold_font JetBrainsMono Nerd Font Bold @@ -11,12 +12,12 @@ bold_italic_font JetBrainsMono Nerd Font Bold Italic font_size 12 -# background_opacity 0.95 +background_opacity 0.90 term xterm-256color -# allow_hyperlinks yes +allow_hyperlinks yes -# copy_on_select yes -# paste_actions confirm-if-large +copy_on_select yes +paste_actions confirm-if-large diff --git a/kitty/.config/kitty/kitty.conf.bak b/kitty/.config/kitty/kitty.conf.bak index 4bd6cc0..99fdc20 100644 --- a/kitty/.config/kitty/kitty.conf.bak +++ b/kitty/.config/kitty/kitty.conf.bak @@ -1,5 +1,5 @@ # BEGIN_KITTY_THEME -# Dracula +# Catppuccin-Mocha include current-theme.conf # END_KITTY_THEME # diff --git a/kitty/.config/kitty/themes/catppuccin-mocha.conf b/kitty/.config/kitty/themes/catppuccin-mocha.conf new file mode 100644 index 0000000..2533db7 --- /dev/null +++ b/kitty/.config/kitty/themes/catppuccin-mocha.conf @@ -0,0 +1,80 @@ +# vim:ft=kitty + +## name: Catppuccin-Mocha +## author: Pocco81 (https://github.com/Pocco81) +## license: MIT +## upstream: https://github.com/catppuccin/kitty/blob/main/mocha.conf +## blurb: Soothing pastel theme for the high-spirited! + + + +# The basic colors +foreground #CDD6F4 +background #1E1E2E +selection_foreground #1E1E2E +selection_background #F5E0DC + +# Cursor colors +cursor #F5E0DC +cursor_text_color #1E1E2E + +# URL underline color when hovering with mouse +url_color #F5E0DC + +# Kitty window border colors +active_border_color #B4BEFE +inactive_border_color #6C7086 +bell_border_color #F9E2AF + +# OS Window titlebar colors +wayland_titlebar_color system +macos_titlebar_color system + +# Tab bar colors +active_tab_foreground #11111B +active_tab_background #CBA6F7 +inactive_tab_foreground #CDD6F4 +inactive_tab_background #181825 +tab_bar_background #11111B + +# Colors for marks (marked text in the terminal) +mark1_foreground #1E1E2E +mark1_background #B4BEFE +mark2_foreground #1E1E2E +mark2_background #CBA6F7 +mark3_foreground #1E1E2E +mark3_background #74C7EC + +# The 16 terminal colors + +# black +color0 #45475A +color8 #585B70 + +# red +color1 #F38BA8 +color9 #F38BA8 + +# green +color2 #A6E3A1 +color10 #A6E3A1 + +# yellow +color3 #F9E2AF +color11 #F9E2AF + +# blue +color4 #89B4FA +color12 #89B4FA + +# magenta +color5 #F5C2E7 +color13 #F5C2E7 + +# cyan +color6 #94E2D5 +color14 #94E2D5 + +# white +color7 #BAC2DE +color15 #A6ADC8 diff --git a/niri/.config/niri/config.kdl b/niri/.config/niri/config.kdl index 05a6532..60e4d0f 100644 --- a/niri/.config/niri/config.kdl +++ b/niri/.config/niri/config.kdl @@ -26,12 +26,21 @@ xwayland-satellite { path "xwayland-satellite" } environment { - ELECTRON_OZONE_PLATFORM_HINT "x11" + ELECTRON_OZONE_PLATFORM_HINT "auto" ELECTRON_ENABLE_LOGGING "1" + // GDK_SCALE "1.75" + // GDK_DPI_SCALE "1" } output "eDP-1" { - mode "1920x1080@120.030" - position x=1280 y=0 + mode "2880x1800@59.990" + scale 1.75 + position x=0 y=0 + focus-at-startup +} +output "HDMI-A-1" { + mode "2560x1440@59.951" + position x=1645 y=0 + scale 1.0 } layout { gaps 2 @@ -46,7 +55,7 @@ layout { } focus-ring { width 2 - active-color "#b4befe" + active-color "#c4a7e7" inactive-color "#a6adc8" } border { @@ -68,6 +77,7 @@ layout { } spawn-at-startup "waybar" "-c" "/home/liph/.config/niri/waybar-niri/config.jsonc" "-s" "/home/liph/.config/niri/waybar-niri/style.css" spawn-at-startup "swaync" +// spawn-at-startup "kanshi" spawn-at-startup "swww-daemon" spawn-at-startup "kitty" spawn-at-startup "librewolf" @@ -119,13 +129,48 @@ window-rule { } clip-to-geometry true } +window-rule { + match app-id="floating_btop" + default-column-width { + proportion 0.5 + } + open-floating true +} +window-rule { + match app-id="floating_htop" + default-column-width { + proportion 0.5 + } + open-floating true +} +window-rule { + match app-id="floating_bluetui" + default-column-width { + proportion 0.5 + } + open-floating true +} +window-rule { + match app-id="floating_pulsemixer" + default-column-width { + proportion 0.5 + } + open-floating true +} +window-rule { + match app-id="floating_wavemon" + default-column-width { + proportion 0.5 + } + open-floating true +} window-rule { geometry-corner-radius 5 clip-to-geometry true } binds { // Mod+Shift+Slash { show-hotkey-overlay; } - Mod+Shift+L { + Mod+Mod5+J { spawn "hyprlock" } Mod+Alt+P hotkey-overlay-title="Open Bitwarden" { @@ -134,10 +179,7 @@ binds { Mod+Alt+T hotkey-overlay-title="Open Tipp10" { spawn "tipp10" } - Mod+Alt+V hotkey-overlay-title="Open Vial" { - spawn "Vial" - } - Mod+Alt+M hotkey-overlay-title="Open Tidal" { + Mod+Alt+S hotkey-overlay-title="Open Tidal" { spawn "tidal-hifi" "--ozone-platform=wayland" "--enable-features=WaylandWindowDecorations" } Mod+Alt+O hotkey-overlay-title="Open Obsidian" { @@ -155,6 +197,18 @@ binds { Mod+Alt+Space hotkey-overlay-title="Open Wofi" { spawn "wofi" "--show" "drun" } + Mod+Mod5+Q hotkey-overlay-title="Open Htop" { + spawn "kitty" "--class" "floating_htop" "-e" "htop" + } + Mod+Mod5+W hotkey-overlay-title="Open Btop" { + spawn "kitty" "--class" "floating_btop" "-e" "btop" + } + Mod+Mod5+E hotkey-overlay-title="Open Pulsemixer" { + spawn "kitty" "--class" "floating_pulsemixer" "-e" "pulsemixer" + } + Mod+Mod5+R hotkey-overlay-title="Open Bluetui" { + spawn "kitty" "--class" "floating_bluetui" "-e" "bluetui" + } // Brightness Controll Mod+Ctrl+0 { spawn "sh" "-c" "~/scripts/layer_notify.sh 0" @@ -275,18 +329,30 @@ binds { // Mod+Shift+Down { focus-monitor-down; } // Mod+Shift+Up { focus-monitor-up; } // Mod+Shift+Right { focus-monitor-right; } - // Mod+Shift+H { focus-monitor-left; } + Mod+Shift+H { + focus-monitor-left + } // Mod+Shift+J { focus-monitor-down; } // Mod+Shift+K { focus-monitor-up; } - // Mod+Shift+L { focus-monitor-right; } - // Mod+Shift+Ctrl+Left { move-column-to-monitor-left; } + Mod+Shift+L { + focus-monitor-right + } + Mod+Shift+Ctrl+Left { + move-column-to-monitor-left + } // Mod+Shift+Ctrl+Down { move-column-to-monitor-down; } // Mod+Shift+Ctrl+Up { move-column-to-monitor-up; } - // Mod+Shift+Ctrl+Right { move-column-to-monitor-right; } - // Mod+Shift+Ctrl+H { move-column-to-monitor-left; } + Mod+Shift+Ctrl+Right { + move-column-to-monitor-right + } + Mod+Shift+Ctrl+H { + move-column-to-monitor-left + } // Mod+Shift+Ctrl+J { move-column-to-monitor-down; } // Mod+Shift+Ctrl+K { move-column-to-monitor-up; } - // Mod+Shift+Ctrl+L { move-column-to-monitor-right; } + Mod+Shift+Ctrl+L { + move-column-to-monitor-right + } Mod+U { focus-workspace-down } diff --git a/niri/.config/niri/waybar-niri/colors.css b/niri/.config/niri/waybar-niri/colors.css index 8af0bb9..8f8b238 100644 --- a/niri/.config/niri/waybar-niri/colors.css +++ b/niri/.config/niri/waybar-niri/colors.css @@ -17,25 +17,22 @@ color: @text; } .red { - color: @red; + color: @love; } .yellow { - color: @yellow; + color: @gold; } .green { - color: @green; -} -.rose { color: @rose; } +.rose { + color: @pine; +} .blue { - color: @blue; + color: @foam; } .sky { - color: @sky; -} -.mauve { - color: @lavender; + color: @iris; } .highlightLow { color: @highlightLow; diff --git a/niri/.config/niri/waybar-niri/config.jsonc b/niri/.config/niri/waybar-niri/config.jsonc index 0b4cde9..8e98273 100644 --- a/niri/.config/niri/waybar-niri/config.jsonc +++ b/niri/.config/niri/waybar-niri/config.jsonc @@ -1,4 +1,3 @@ -// -*- mode: jsonc -*- { "layer": "top", "position": "top", @@ -57,11 +56,13 @@ "format": "{usage}%", "tooltip": false, "interval": 1, + "on-click": "kitty --class floating_btop -e btop", }, "memory": { "format": "{}%", // "format": " {}%", "interval": 1, + "on-click": "kitty --class floating_btop -e htop", }, "battery": { "interval": 1, @@ -92,6 +93,7 @@ "format-disconnected": "󱚵", "format-alt": "{bandwidthDownBytes}", "interval": 1, + // "on-click": "kitty --class floating_wavemon -e sudo wavemon", }, "pulseaudio": { "format": "{icon} {volume}%", @@ -107,7 +109,7 @@ // "car": "", "default": ["󰕿", "󰖀", "󰕾"], }, - "on-click": "pavucontrol", + "on-click": "kitty --class floating_pulsemixer -e pulsemixer", }, "custom/power": { "format": "⏻", @@ -119,9 +121,19 @@ "on-click": "wofi --show drun", }, "bluetooth": { - "format": "󰂯", - "format-disabled": "󰂲", - "format-connected": "󰂱", - "on-click": "blueman-manager", + "format": "", + "format-disabled": "", + "format-connected": "", + "tooltip-format": "{controller_alias}\t{controller_address}\n\n{num_connections} connected", + "tooltip-format-connected": "{controller_alias}\t{controller_address}\n\n{num_connections} connected\n\n{device_enumerate}", + "tooltip-format-enumerate-connected": "{device_alias}\t{device_address}", + "tooltip-format-enumerate-connected-battery": "{device_alias}\t{device_address}\t{device_battery_percentage}%", + "on-click": "kitty --class floating_bluetui -e bluetui", }, + // "bluetooth": { + // "format": "󰂯", + // "format-disabled": "󰂲", + // "format-connected": "󰂱", + // "on-click": "kitty --class floating_bluetui -e bluetui", + // }, } diff --git a/niri/.config/niri/waybar-niri/config_2.jsonc b/niri/.config/niri/waybar-niri/config_2.jsonc deleted file mode 100644 index a46cb05..0000000 --- a/niri/.config/niri/waybar-niri/config_2.jsonc +++ /dev/null @@ -1,160 +0,0 @@ -{ - "layer": "top", - "position": "top", - "mod": "dock", - "exclusive": true, - "passthrough": false, - "gtk-layer-shell": true, - "height": 0, - "modules-left": ["clock", "custom/power_btn", "custom/lock_screen", "niri/workspaces"], - "modules-center": ["niri/window"], - "modules-right": [ - "network", - "bluetooth", - "pulseaudio", - "pulseaudio#microphone", - "tray" - ], - "niri/workspaces": { - "all-outputs": true, - "on-click": "activate", - "persistent-workspaces": { - "1": [], - "2": [], - "3": [], - "4": [], - "5": [] - } - }, - "custom/launch_wofi": { - "format": "", - "on-click": "pkill wofi; wofi -n", - "tooltip": false - }, - "custom/lock_screen": { - "format": "", - "on-click": "sh -c '(sleep 0.5s; swaylock)' & disown", - "tooltip": false - }, - "custom/light_dark": { - "format": "󰐾", - "on-click": "~/.config/waybar/scripts/baraction light", - "tooltip": false - }, - "custom/power_btn": { - "format": "", - "on-click": "sh -c '(sleep 0.5s; wlogout --protocol layer-shell)' & disown", - "tooltip": false - }, - "cpu": { - "interval": 10, - "format": " {usage}%", - "max-length": 10, - "on-click": "kitty --start-as=fullscreen --title btop sh -c 'btop'" - }, - "disk": { - "interval": 30, - "format": "󰋊 {percentage_used}%", - "path": "/", - "tooltip": true, - "tooltip-format": "HDD - {used} used out of {total} on {path} ({percentage_used}%)", - "on-click": "kitty --start-as=fullscreen --title btop sh -c 'btop'" - }, - "memory": { - "interval": 30, - "format": " {}%", - "max-length": 10, - "tooltip": true, - "tooltip-format": "Memory - {used:0.1f}GB used", - "on-click": "kitty --start-as=fullscreen --title btop sh -c 'btop'" - }, - "custom/updates": { - "format": " {}", - "tooltip-format": "{}", - "escape": true, - "return-type": "json", - "exec": "~/.config/waybar/scripts/update-sys", - "restart-interval": 60, - "on-click": "kitty -e ~/.config/waybar/scripts/update-sys update", - "tooltip": false - }, - "tray": { - "icon-size": 13, - "tooltip": false, - "spacing": 10 - }, - "clock": { - "format": "{: %R %d/%m}", - "tooltip-format": "{:%Y %B}\n{calendar}" - }, - "backlight": { - "device": "intel_backlight", - "format": "{icon} {percent}%", - "format-icons": ["", "", ""], - "on-scroll-up": "brightnessctl set 1%+", - "on-scroll-down": "brightnessctl set 1%-", - "min-length": 6 - }, - "battery": { - "states": { - "good": 95, - "warning": 30, - "critical": 20 - }, - "format": "{icon} {capacity}%", - "format-charging": " {capacity}%", - "format-plugged": " {capacity}%", - "format-alt": "{time} {icon}", - "format-icons": ["󰂎", "󰁺", "󰁻", "󰁼", "󰁽", "󰁾", "󰁿", "󰂀", "󰂁", "󰂂", "󰁹"] - }, - "pulseaudio": { - "format": "{icon} {volume}%", - "tooltip": false, - "format-muted": " Muted", - "on-click": "pamixer -t", - "on-scroll-up": "pamixer -i 5", - "on-scroll-down": "pamixer -d 5", - "scroll-step": 5, - "format-icons": { - "headphone": "", - "hands-free": "", - "headset": "", - "phone": "", - "portable": "", - "car": "", - "default": ["", "", ""] - } - }, - "pulseaudio#microphone": { - "format": "{format_source}", - "tooltip": false, - "format-source": " {volume}%", - "format-source-muted": " Muted", - "on-click": "pamixer --default-source -t", - "on-scroll-up": "pamixer --default-source -i 5", - "on-scroll-down": "pamixer --default-source -d 5", - "scroll-step": 5 - }, - "temperature": { - "thermal-zone": 1, - "format": "{temperatureF}°F ", - "critical-threshold": 80, - "format-critical": "{temperatureC}°C " - }, - "network": { - "format-wifi": " {signalStrength}%", - "format-ethernet": "󰈀 100% ", - "tooltip-format": "Connected to {essid} {ifname} via {gwaddr}", - "format-linked": "{ifname} (No IP)", - "format-disconnected": "󰖪 0% ", - "on-click": "~/.config/rofi/wifi/wifi.sh" - }, - "bluetooth": { - "format": " {status}", - "format-disabled": "", - "format-off": "", - "interval": 30, - "on-click": "blueman-manager", - "format-no-controller": "" - } -} diff --git a/niri/.config/niri/waybar-niri/style.css b/niri/.config/niri/waybar-niri/style.css index 30a8ce3..f512ed6 100644 --- a/niri/.config/niri/waybar-niri/style.css +++ b/niri/.config/niri/waybar-niri/style.css @@ -1,23 +1,26 @@ +@import "theme.css"; +@import "colors.css"; + * { font-family: "JetBrainsMono"; font-size: 12px; } window#waybar { - background-color: rgba(43, 48, 59, 0.5); - background: radial-gradient(alpha(@theme_base_color, 0.4), @theme_base_color); + background-color: @base; + /* background: radial-gradient(alpha(@theme_base_color, 0.4), @theme_base_color); */ color: @theme_fg_color; transition-property: background-color; transition-duration: 0.5s; } window#waybar.hidden { - opacity: 0.2; + /* opacity: 0.2; */ } button { border: none; border-radius: 0; } button:hover { - background: inherit; + /* background: inherit; */ } #workspaces { padding: 5px; @@ -29,15 +32,15 @@ button:hover { border-radius: 10px; } #workspaces button:hover { - color: #e5c890; + color: @gold; } #workspaces button.active, #workspaces button.default, #workspaces button.focused { - background: #babbf1; + background: @rose; } #workspaces button.urgent { - background-color: #eb4d4b; + background-color: @love; } #clock, #battery, @@ -71,13 +74,25 @@ button:hover { .modules-right > widget:last-child > #workspaces { margin-right: 0; } -#clock, -#battery, -#cpu, -#memory, +#clock { + color: @text; +} +#battery { + color: @iris; +} +#cpu { + color: @iris; +} +#memory { + color: @foam; +} #backlight, -#network, -#pulseaudio, +#network { + color: @gold; +} +#pulseaudio { + color: @rose; +} #custom-media, #tray, #custom-power, @@ -90,7 +105,7 @@ button:hover { margin: 0 4px; } #custom-power { - background-color: #e78284; + background-color: @love; border-radius: 20px 0 0 20px; transition: all 250ms ease-in-out; } @@ -102,17 +117,15 @@ button:hover { margin: 0 5px; } #pulseaudio.muted { - color: orange; } #network.disconnected { - color: red; } #tray { border-radius: 20px; margin: 0 5px; } #custom-logo { - background-color: #8caaee; + background-color: @pine; padding: 0 17px; border-radius: 0 20px 20px 0; } @@ -122,4 +135,5 @@ button:hover { #bluetooth { border-radius: 20px; margin: 0 5px; + color: @pine; } diff --git a/niri/.config/niri/waybar-niri/theme.css b/niri/.config/niri/waybar-niri/theme.css deleted file mode 120000 index 4d54996..0000000 --- a/niri/.config/niri/waybar-niri/theme.css +++ /dev/null @@ -1 +0,0 @@ -/home/liph/.config/niri/waybar-niri/themes/catppuccin-mocha.css \ No newline at end of file diff --git a/niri/.config/niri/waybar-niri/theme.css b/niri/.config/niri/waybar-niri/theme.css new file mode 100644 index 0000000..d1e318c --- /dev/null +++ b/niri/.config/niri/waybar-niri/theme.css @@ -0,0 +1,15 @@ +@define-color base #191724; +@define-color surface #1f1d2e; +@define-color overlay #26233a; +@define-color muted #6e6a86; +@define-color subtle #908caa; +@define-color text #e0def4; +@define-color love #eb6f92; +@define-color gold #f6c177; +@define-color rose #ea9a97; +@define-color pine #3e8fb0; +@define-color foam #9ccfd8; +@define-color iris #c4a7e7; +@define-color highlightLow #21202e; +@define-color highlightMed #403d52; +@define-color highlightHigh #524f67; diff --git a/niri/.config/niri/waybar-niri/themes/rose-pine.css b/niri/.config/niri/waybar-niri/themes/rose-pine.css new file mode 100644 index 0000000..a3ae0e4 --- /dev/null +++ b/niri/.config/niri/waybar-niri/themes/rose-pine.css @@ -0,0 +1,23 @@ +/* +* Variant: Rosé Pine +* Maintainer: DankChoir +*/ + +@define-color base #191724; +@define-color surface #1f1d2e; +@define-color overlay #26233a; + +@define-color muted #6e6a86; +@define-color subtle #908caa; +@define-color text #e0def4; + +@define-color love #eb6f92; +@define-color gold #f6c177; +@define-color rose #ebbcba; +@define-color pine #31748f; +@define-color foam #9ccfd8; +@define-color iris #c4a7e7; + +@define-color highlightLow #21202e; +@define-color highlightMed #403d52; +@define-color highlightHigh #524f67; diff --git a/niri/.config/niri/waybar-niri_2/colors.css b/niri/.config/niri/waybar-niri_2/colors.css deleted file mode 100644 index 8af0bb9..0000000 --- a/niri/.config/niri/waybar-niri_2/colors.css +++ /dev/null @@ -1,48 +0,0 @@ -.base { - color: @base; -} -.surface { - color: @surface; -} -.overlay { - color: @overlay; -} -.muted { - color: @muted; -} -.subtle { - color: @subtle; -} -.text { - color: @text; -} -.red { - color: @red; -} -.yellow { - color: @yellow; -} -.green { - color: @green; -} -.rose { - color: @rose; -} -.blue { - color: @blue; -} -.sky { - color: @sky; -} -.mauve { - color: @lavender; -} -.highlightLow { - color: @highlightLow; -} -.highlightMed { - color: @highlightMed; -} -.highlightHigh { - color: @highlightHigh; -} diff --git a/niri/.config/niri/waybar-niri_2/theme.css b/niri/.config/niri/waybar-niri_2/theme.css deleted file mode 100644 index 53e95cd..0000000 --- a/niri/.config/niri/waybar-niri_2/theme.css +++ /dev/null @@ -1,16 +0,0 @@ -/* -@define-color base #232136; -@define-color surface #2a273f; -@define-color overlay #393552; -@define-color muted #6e6a86; -@define-color subtle #908caa; -@define-color text #e0def4; -@define-color red #eb6f92; -@define-color yellow #f6c177; -@define-color rose #ea9a97; -@define-color blue #3e8fb0; -@define-color sky #9ccfd8; -@define-color mauve #c4a7e7; -@define-color highlightLow #2a283e; -@define-color highlightMed #44415a; -@define-color highlightHigh #56526e; diff --git a/nvim/.config/nvim/after/ftplugin/mail.lua b/nvim/.config/nvim/after/ftplugin/mail.lua new file mode 100644 index 0000000..3d2b075 --- /dev/null +++ b/nvim/.config/nvim/after/ftplugin/mail.lua @@ -0,0 +1,128 @@ +-- Helper function to extract clean email address +local function extract_email(address_string) + -- Match email in angle brackets: "Name " + local email = address_string:match("<([^>]+)>") + if email then + return email + end + + -- Match standalone email: "email@example.com" + email = address_string:match("([%w%._%+-]+@[%w%._%+-]+)") + if email then + return email + end + + -- Fallback: return as-is if no pattern matches + return address_string +end + +-- Option 2: Omnifunc completion +function _G.mail_complete(findstart, base) + if findstart == 1 then + -- Find start of word + local line = vim.api.nvim_get_current_line() + local col = vim.fn.col('.') + local line_to_cursor = line:sub(1, col - 1) + + -- Only on header lines + if not line_to_cursor:match("^%s*[ToCcBcFrom]+:%s*") then + return -1 + end + + -- Find start of current address + local start = line_to_cursor:reverse():find("[%s,]") + if start then + return col - start + else + return line_to_cursor:find(":") or 0 + end + else + -- Get completions + local handle = io.popen(string.format('abook --mutt-query "%s" 2>/dev/null | tail -n +2', base)) + if not handle then + return {} + end + + local result = handle:read("*a") + handle:close() + + local matches = {} + for address in result:gmatch("[^\r\n]+") do + if address ~= "" then + -- Extract clean email only + local clean_email = extract_email(address) + table.insert(matches, clean_email) + end + end + + return matches + end +end + +-- Set omnifunc +vim.bo.omnifunc = 'v:lua.mail_complete' + +-- Map Tab to trigger completion on header lines +vim.keymap.set('i', '', function() + local line = vim.api.nvim_get_current_line() + if line:match("^%s*[ToCcBcFrom]+:%s*") then + return '' + else + return '' + end +end, { expr = true, buffer = true }) + +-- Option 3: Interactive fzf picker +local function pick_email() + -- Get all addresses + local handle = io.popen('abook --mutt-query "" 2>/dev/null | tail -n +2') + if not handle then + vim.notify("Could not query abook", vim.log.levels.ERROR) + return + end + + local addresses = {} + local display_addresses = {} + + for line in handle:lines() do + if line ~= "" then + local clean_email = extract_email(line) + table.insert(addresses, clean_email) + -- Show full format in picker, but insert clean email + table.insert(display_addresses, line .. " → " .. clean_email) + end + end + handle:close() + + if #addresses == 0 then + vim.notify("No addresses in abook", vim.log.levels.WARN) + return + end + + -- Use vim.ui.select (works with fzf-lua if installed) + vim.ui.select(display_addresses, { + prompt = "Select recipient:", + format_item = function(item) + return item + end, + }, function(choice, idx) + if choice and idx then + local email = addresses[idx] + -- Insert at cursor + local row, col = unpack(vim.api.nvim_win_get_cursor(0)) + local line = vim.api.nvim_get_current_line() + local new_line = line:sub(1, col) .. email .. line:sub(col + 1) + vim.api.nvim_set_current_line(new_line) + -- Move cursor after inserted text + vim.api.nvim_win_set_cursor(0, {row, col + #email}) + end + end) +end + +-- Map Ctrl+f to pick email (Option 3) +vim.keymap.set('i', '', pick_email, { buffer = true, desc = "Pick email address with fzf" }) + +-- Optional: Map Ctrl+a for Tab completion manually (in case Tab doesn't work) +vim.keymap.set('i', '', '', { buffer = true, desc = "Trigger address completion" }) +``` +im.keymap.set("i", "", "", { buffer = true, desc = "Trigger address completion" }) diff --git a/nvim/.config/nvim/init.lua b/nvim/.config/nvim/init.lua index 4bfcabf..4184f34 100644 --- a/nvim/.config/nvim/init.lua +++ b/nvim/.config/nvim/init.lua @@ -14,9 +14,17 @@ if not vim.loop.fs_stat(lazypath) then end vim.opt.rtp:prepend(lazypath) +-- Enable spell check for mail files +vim.api.nvim_create_autocmd("FileType", { + pattern = "mail", + callback = function() + vim.opt_local.spell = true + vim.opt_local.spelllang = "en_us,de" -- Add languages you need + end, +}) -- Only enable spell checking for specific filetypes vim.api.nvim_create_autocmd("FileType", { - pattern = { "markdown", "text", "gitcommit", "tex", "plaintext" }, + pattern = { "mail", "markdown", "text", "gitcommit", "tex", "plaintext" }, callback = function() vim.opt_local.spell = true vim.opt_local.spelllang = "en_us,de" @@ -57,3 +65,10 @@ if vim.fn.filereadable(theme_file) == 1 then else vim.cmd.colorscheme("catppuccin") -- fallback end + +vim.api.nvim_set_hl(0, "Normal", { bg = "none" }) +vim.api.nvim_set_hl(0, "NormalFloat", { bg = "none" }) +vim.api.nvim_set_hl(0, "NormalNC", { bg = "none" }) +vim.api.nvim_set_hl(0, "SignColumn", { bg = "none" }) +vim.api.nvim_set_hl(0, "FloatBorder", { bg = "none" }) +vim.api.nvim_set_hl(0, "LineNr", { bg = "none" }) diff --git a/nvim/.config/nvim/lazy-lock.json b/nvim/.config/nvim/lazy-lock.json index 3e1b9f2..04479ba 100644 --- a/nvim/.config/nvim/lazy-lock.json +++ b/nvim/.config/nvim/lazy-lock.json @@ -1,44 +1,46 @@ { "Comment.nvim": { "branch": "master", "commit": "e30b7f2008e52442154b66f7c519bfd2f1e32acb" }, - "LuaSnip": { "branch": "master", "commit": "fb525166ccc30296fb3457441eb979113de46b00" }, - "R.nvim": { "branch": "main", "commit": "b7de6e6f43d79e31b077096ca0089fde85190f46" }, + "LuaSnip": { "branch": "master", "commit": "5a1e39223db9a0498024a77b8441169d260c8c25" }, + "R.nvim": { "branch": "main", "commit": "3db1971a81f8ad3d09aca698601abbe4cc909e37" }, "barbecue": { "branch": "main", "commit": "cd7e7da622d68136e13721865b4d919efd6325ed" }, + "blink.cmp": { "branch": "main", "commit": "b19413d214068f316c78978b08264ed1c41830ec" }, "catppuccin": { "branch": "main", "commit": "beaf41a30c26fd7d6c386d383155cbd65dd554cd" }, + "cmp-buffer": { "branch": "main", "commit": "b74fab3656eea9de20a9b8116afa3cfc4ec09657" }, "cmp-cmdline": { "branch": "main", "commit": "d126061b624e0af6c3a556428712dd4d4194ec6d" }, "cmp-nvim-lsp": { "branch": "main", "commit": "cbc7b02bb99fae35cb42f514762b89b5126651ef" }, "cmp-nvim-lua": { "branch": "main", "commit": "e3a22cb071eb9d6508a156306b102c45cd2d573d" }, + "cmp-path": { "branch": "main", "commit": "c642487086dbd9a93160e1679a1327be111cbc25" }, "cmp-r": { "branch": "main", "commit": "70bfe8f4c062acc10266e24825439c009a0b1b89" }, - "conform.nvim": { "branch": "master", "commit": "8314f4c9e205e7f30b62147069729f9a1227d8bf" }, + "conform.nvim": { "branch": "master", "commit": "c2526f1cde528a66e086ab1668e996d162c75f4f" }, "dashboard-nvim": { "branch": "master", "commit": "0775e567b6c0be96d01a61795f7b64c1758262f6" }, "diffview.nvim": { "branch": "main", "commit": "4516612fe98ff56ae0415a259ff6361a89419b0a" }, "dracula.nvim": { "branch": "main", "commit": "ae752c13e95fb7c5f58da4b5123cb804ea7568ee" }, "dressing.nvim": { "branch": "master", "commit": "2d7c2db2507fa3c4956142ee607431ddb2828639" }, - "everforest": { "branch": "master", "commit": "b90025cc84dbb9c46df5a2ae540d3f01cf85af74" }, + "everforest": { "branch": "master", "commit": "b03a03148c8b34c24c96960b93da9c8883d11f54" }, "flash.nvim": { "branch": "main", "commit": "fcea7ff883235d9024dc41e638f164a450c14ca2" }, - "friendly-snippets": { "branch": "main", "commit": "572f5660cf05f8cd8834e096d7b4c921ba18e175" }, - "fzf-lua": { "branch": "main", "commit": "b8d1356b7120f5cf111709cb2fa504096248fb26" }, - "gitsigns.nvim": { "branch": "main", "commit": "42d6aed4e94e0f0bbced16bbdcc42f57673bd75e" }, + "friendly-snippets": { "branch": "main", "commit": "6cd7280adead7f586db6fccbd15d2cac7e2188b9" }, + "fzf-lua": { "branch": "main", "commit": "e5804f4924cf74ad03834c25988998a273ae0d7b" }, + "gitsigns.nvim": { "branch": "main", "commit": "abf82a65f185bd54adc0679f74b7d6e1ada690c9" }, "grapple.nvim": { "branch": "main", "commit": "b41ddfc1c39f87f3d1799b99c2f0f1daa524c5f7" }, - "gruvbox-mat": { "branch": "master", "commit": "e4359a2f80ef7275b080be180841c62ca8322757" }, - "harpoon": { "branch": "harpoon2", "commit": "87b1a3506211538f460786c23f98ec63ad9af4e5" }, + "gruvbox-mat": { "branch": "master", "commit": "790afe9dd085aa04eccd1da3626c5fa05c620e53" }, "indent-blankline.nvim": { "branch": "master", "commit": "005b56001b2cb30bfa61b7986bc50657816ba4ba" }, "kanagawa.nvim": { "branch": "master", "commit": "aef7f5cec0a40dbe7f3304214850c472e2264b10" }, "lazy.nvim": { "branch": "main", "commit": "306a05526ada86a7b30af95c5cc81ffba93fef97" }, "lazydev.nvim": { "branch": "main", "commit": "5231c62aa83c2f8dc8e7ba957aa77098cda1257d" }, "lualine.nvim": { "branch": "master", "commit": "47f91c416daef12db467145e16bed5bbfe00add8" }, "luvit-meta": { "branch": "main", "commit": "0ea4ff636c5bb559ffa78108561d0976f4de9682" }, - "mason-lspconfig.nvim": { "branch": "main", "commit": "fe661093f4b05136437b531e7f959af2a2ae66c8" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "c953789db7fd28eafe5eb5659846d34b5024b3cc" }, "mason.nvim": { "branch": "main", "commit": "44d1e90e1f66e077268191e3ee9d2ac97cc18e65" }, "neo-tree.nvim": { "branch": "v3.x", "commit": "f3df514fff2bdd4318127c40470984137f87b62e" }, - "neogit": { "branch": "master", "commit": "d8bf9102692250193b855acd9025a826f1af2729" }, + "neogit": { "branch": "master", "commit": "73870229977fdd8747025820e15e98cfde787b9c" }, "nightfox.nvim": { "branch": "main", "commit": "ba47d4b4c5ec308718641ba7402c143836f35aa9" }, "noice.nvim": { "branch": "main", "commit": "7bfd942445fb63089b59f97ca487d605e715f155" }, "nui.nvim": { "branch": "main", "commit": "de740991c12411b663994b2860f1a4fd0937c130" }, - "nvim-autopairs": { "branch": "master", "commit": "c2a0dd0d931d0fb07665e1fedb1ea688da3b80b4" }, - "nvim-cmp": { "branch": "main", "commit": "85bbfad83f804f11688d1ab9486b459e699292d6" }, + "nvim-autopairs": { "branch": "master", "commit": "59bce2eef357189c3305e25bc6dd2d138c1683f5" }, + "nvim-cmp": { "branch": "main", "commit": "da88697d7f45d16852c6b2769dc52387d1ddc45f" }, "nvim-colorizer.lua": { "branch": "master", "commit": "a065833f35a3a7cc3ef137ac88b5381da2ba302e" }, - "nvim-lint": { "branch": "master", "commit": "ca6ea12daf0a4d92dc24c5c9ae22a1f0418ade37" }, - "nvim-lspconfig": { "branch": "master", "commit": "92ee7d42320edfbb81f3cad851314ab197fa324a" }, + "nvim-lint": { "branch": "master", "commit": "bcd1a44edbea8cd473af7e7582d3f7ffc60d8e81" }, + "nvim-lspconfig": { "branch": "master", "commit": "3f58aeca0c6ece8a9fb8782ea3fcb6024f285be3" }, "nvim-navic": { "branch": "master", "commit": "f5eba192f39b453675d115351808bd51276d9de5" }, "nvim-notify": { "branch": "master", "commit": "8701bece920b38ea289b457f902e2ad184131a5d" }, "nvim-spectre": { "branch": "master", "commit": "72f56f7585903cd7bf92c665351aa585e150af0f" }, @@ -47,22 +49,23 @@ "nvim-treesitter": { "branch": "master", "commit": "42fc28ba918343ebfd5565147a42a26580579482" }, "nvim-treesitter-textobjects": { "branch": "master", "commit": "5ca4aaa6efdcc59be46b95a3e876300cfead05ef" }, "nvim-ts-context-commentstring": { "branch": "main", "commit": "1b212c2eee76d787bbea6aa5e92a2b534e7b4f8f" }, - "nvim-web-devicons": { "branch": "master", "commit": "6788013bb9cb784e606ada44206b0e755e4323d7" }, + "nvim-web-devicons": { "branch": "master", "commit": "803353450c374192393f5387b6a0176d0972b848" }, "obsidian.nvim": { "branch": "main", "commit": "ae1f76a75c7ce36866e1d9342a8f6f5b9c2caf9b" }, "onedark-warm": { "branch": "master", "commit": "213c23ae45a04797572242568d5d51937181792d" }, "plenary.nvim": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" }, "portal.nvim": { "branch": "main", "commit": "77d9d53fec945bfa407d5fd7120f1b4f117450ed" }, - "rainbow-delimiters.nvim": { "branch": "master", "commit": "8aafe2cbd89cd4090f573a98cab6b20366576fde" }, - "render-markdown.nvim": { "branch": "main", "commit": "73a6ebc842cf81926eb1d424820b800f6f6a1227" }, + "rainbow-delimiters.nvim": { "branch": "master", "commit": "d6b802552cbe7d643a3b6b31f419c248d1f1e220" }, + "render-markdown.nvim": { "branch": "main", "commit": "b3efd6408e4e4d66d6caaee0579e72b579bc0884" }, "rose-pine": { "branch": "main", "commit": "cf2a288696b03d0934da713d66c6d71557b5c997" }, - "sonokai": { "branch": "master", "commit": "5c7f88c0cac01b32cfce634f2a28947ab426537f" }, + "snacks.nvim": { "branch": "main", "commit": "fe7cfe9800a182274d0f868a74b7263b8c0c020b" }, + "sonokai": { "branch": "master", "commit": "b023c5280b16fe2366f5e779d8d2756b3e5ee9c3" }, "telescope-ui-select.nvim": { "branch": "master", "commit": "6e51d7da30bd139a6950adf2a47fda6df9fa06d2" }, - "telescope.nvim": { "branch": "master", "commit": "3333a52ff548ba0a68af6d8da1e54f9cd96e9179" }, + "telescope.nvim": { "branch": "master", "commit": "ad7d9580338354ccc136e5b8f0aa4f880434dcdc" }, "tokyonight": { "branch": "main", "commit": "5da1b76e64daf4c5d410f06bcb6b9cb640da7dfd" }, "trouble.nvim": { "branch": "main", "commit": "bd67efe408d4816e25e8491cc5ad4088e708a69a" }, - "vim-test": { "branch": "master", "commit": "aa619692ff48a3cf3e6bdb893765039488d4e5f3" }, - "vimtex": { "branch": "master", "commit": "3abfa1ff75b81c01e4305e8062549ac0ea5cc9b8" }, + "vim-test": { "branch": "master", "commit": "c569b3620d0e53572efc95159f66ace5e7b06b48" }, + "vimtex": { "branch": "master", "commit": "f707368022cdb851716be0d2970b90599c84a6a6" }, "vimux": { "branch": "master", "commit": "614f0bb1fb598f97accdcea71d5f7b18d7d62436" }, "which-key.nvim": { "branch": "main", "commit": "3aab2147e74890957785941f0c1ad87d0a44c15a" }, - "yazi.nvim": { "branch": "main", "commit": "4a8bd3284708e11e48bcd865892902a46abdcce0" } + "yazi.nvim": { "branch": "main", "commit": "46fd318814b13cdb27750c045973df3f80425e68" } } diff --git a/nvim/.config/nvim/lua/plugins.inactive/cmp.lua b/nvim/.config/nvim/lua/plugins.inactive/cmp.lua deleted file mode 100644 index b423a4e..0000000 --- a/nvim/.config/nvim/lua/plugins.inactive/cmp.lua +++ /dev/null @@ -1,9 +0,0 @@ -return { - { - "hrsh7th/cmp-path", -- file and folders - "hrsh7th/cmp-buffer", -- words from the current buffer - "hrsh7th/cmp-nvim-lsp", -- LSP-based autocompletions - "hrsh7th/cmp-cmdline", -- Command-line autocompletions - "tzachar/cmp-tabnine"--, build = "./install.sh", - }, -} diff --git a/nvim/.config/nvim/lua/plugins.inactive/cmp_1.lua b/nvim/.config/nvim/lua/plugins.inactive/cmp_1.lua deleted file mode 100644 index 5e54c38..0000000 --- a/nvim/.config/nvim/lua/plugins.inactive/cmp_1.lua +++ /dev/null @@ -1,24 +0,0 @@ -return { - { - "hrsh7th/cmp-nvim-lsp", - }, - { - "L3MON4D3/LuaSnip", - dependencies = { - "saadparwaiz1/cmp_luasnip", - "rafamadriz/friendly-snippets", - }, - }, - { - "hrsh7th/nvim-cmp", - dependencies = { - "hrsh7th/cmp-path", - "hrsh7th/cmp-buffer", - "hrsh7th/cmp-cmdline", - }, - }, - { - "tzachar/cmp-tabnine", - build = "./install.sh", - }, -} diff --git a/nvim/.config/nvim/lua/plugins/harpoon.lua b/nvim/.config/nvim/lua/plugins.inactive/harpoon.lua similarity index 100% rename from nvim/.config/nvim/lua/plugins/harpoon.lua rename to nvim/.config/nvim/lua/plugins.inactive/harpoon.lua diff --git a/nvim/.config/nvim/lua/plugins.inactive/ufo.lua b/nvim/.config/nvim/lua/plugins.inactive/ufo.lua new file mode 100644 index 0000000..3475e1f --- /dev/null +++ b/nvim/.config/nvim/lua/plugins.inactive/ufo.lua @@ -0,0 +1,38 @@ +return { + "kevinhwang91/nvim-ufo", + dependencies = "kevinhwang91/promise-async", + event = { "BufReadPost", "BufNewFile" }, + keys = { + { + "zR", + function() + require("ufo").openAllFolds() + end, + desc = "Ufo: open all folds", + }, + { + "zM", + function() + require("ufo").closeAllFolds() + end, + desc = "Ufo: close all folds", + }, + { + "zr", + function() + require("ufo").openFoldsExceptKinds() + end, + desc = "Ufo: open outer folds", + }, + }, + config = function() + local ufo = require("ufo") + ufo.setup({ + provider_selector = function(bufnr, filetype, buftype) + -- prefer LSP, fall back to treesitter + return { "lsp", "treesitter" } + end, + fold_virt_text_handler = ufo.handler, -- default virtual text + }) + end, +} diff --git a/nvim/.config/nvim/lua/plugins/vim-test.lua b/nvim/.config/nvim/lua/plugins.inactive/vim-test.lua similarity index 100% rename from nvim/.config/nvim/lua/plugins/vim-test.lua rename to nvim/.config/nvim/lua/plugins.inactive/vim-test.lua diff --git a/nvim/.config/nvim/lua/plugins/autopairs.lua b/nvim/.config/nvim/lua/plugins/autopairs.lua index e3a4514..d271243 100644 --- a/nvim/.config/nvim/lua/plugins/autopairs.lua +++ b/nvim/.config/nvim/lua/plugins/autopairs.lua @@ -1,3 +1,5 @@ +-- autopairs.lua: Auto-inserts matching pairs for brackets, quotes, and delimiters during coding. + return { { "windwp/nvim-autopairs", diff --git a/nvim/.config/nvim/lua/plugins/barbeque.lua b/nvim/.config/nvim/lua/plugins/barbeque.lua index e762dd6..0422cb6 100644 --- a/nvim/.config/nvim/lua/plugins/barbeque.lua +++ b/nvim/.config/nvim/lua/plugins/barbeque.lua @@ -1,4 +1,4 @@ --- This is a VS Code like winbar that uses nvim-navic in order to get LSP context from your language server. +-- barbcue.lua: Provides a minimal status line with contextual code structure (e.g., current function/method) using Treesitter and nvim-navic for lightweight navigation. return { { @@ -14,39 +14,39 @@ return { require("barbecue").setup({ -- Create autocmd to attach to LSP attach_navic = true, - + -- Create user commands create_autocmd = true, - + -- Whether to show/use file icons show_modified = false, - + -- Whether to show file path show_dirname = true, - + -- Whether to show basename show_basename = true, - + -- Filetypes to exclude exclude_filetypes = { "netrw", "toggleterm", "alpha", "NvimTree" }, - + -- Modifiers to apply to dirname modifiers = { dirname = ":~:.", basename = "", }, - + -- Whether to display path to file show_navic = true, - + -- Custom section custom_section = function() return " " end, - + -- Theme configuration theme = "auto", -- 'auto', 'tokyonight', 'catppuccin', etc. - + -- Symbols for different node kinds kinds = { File = "", diff --git a/nvim/.config/nvim/lua/plugins/blink.lua b/nvim/.config/nvim/lua/plugins/blink.lua new file mode 100644 index 0000000..84e3d45 --- /dev/null +++ b/nvim/.config/nvim/lua/plugins/blink.lua @@ -0,0 +1,63 @@ +-- blink.lua: Temporarily highlights cursor position after movement to improve visibility. + +return { + "saghen/blink.cmp", + version = "v1.*", -- stay on stable branch + build = "cargo build --release", -- compile matcher locally + lazy = false, -- must load before first lsp attach + dependencies = { + "L3MON4D3/LuaSnip", + "rafamadriz/friendly-snippets", + }, + opts = { + -- completion sources ---------------------------------------------------- + sources = { + min_keyword_length = 2, -- <-- Move it here from trigger section + default = { "nvim_lsp", "luasnip", "buffer", "path", "cmp_tabnine" }, + providers = { + nvim_lsp = { name = "LSP", module = "blink.cmp.sources.lsp" }, + luasnip = { name = "Snippets", module = "blink.cmp.sources.luasnip" }, + buffer = { name = "Buffer", module = "blink.cmp.sources.buffer" }, + path = { name = "Path", module = "blink.cmp.sources.path" }, + cmp_tabnine = { + name = "TabNine", + module = "blink.compat.source", + score_offset = 3, + }, + }, + per_filetype = { + lua = { default = { "lazydev", "nvim_lsp", "luasnip", "buffer", "path" } }, + }, + }, + + -- completion behaviour -------------------------------------------------- + completion = { + accept = { auto_brackets = { enabled = true } }, + trigger = { + show_on_trigger_character = true, -- <-- Remove min_keyword_length from here + }, + list = { + selection = { + preselect = function(ctx) + return ctx.mode ~= "cmdline" + end, + }, + }, + documentation = { + auto_show = true, + auto_show_delay_ms = 100, + }, + }, + + signature = { + enabled = true, + window = { border = "rounded" }, + }, + + cmdline = { enabled = true }, + }, + + config = function(_, opts) + require("blink.cmp").setup(opts) + end, +} diff --git a/nvim/.config/nvim/lua/plugins/colorschemes.lua b/nvim/.config/nvim/lua/plugins/colorschemes.lua index e259dbd..42c0388 100644 --- a/nvim/.config/nvim/lua/plugins/colorschemes.lua +++ b/nvim/.config/nvim/lua/plugins/colorschemes.lua @@ -1,3 +1,5 @@ +-- colorschemes.lua: Manages and switches between visual themes for the editor interface. + return { { "catppuccin/nvim", diff --git a/nvim/.config/nvim/lua/plugins/comment.lua b/nvim/.config/nvim/lua/plugins/comment.lua index b25f4d0..9fcee4b 100644 --- a/nvim/.config/nvim/lua/plugins/comment.lua +++ b/nvim/.config/nvim/lua/plugins/comment.lua @@ -1,3 +1,5 @@ +-- comment.lua: Toggles line or block comments with customizable keybindings. + return { { "numToStr/Comment.nvim", @@ -21,21 +23,21 @@ return { -- LHS of toggle mappings in NORMAL mode toggler = { - line = "gcc", -- Line-comment toggle keymap + line = "gcc", -- Line-comment toggle keymap block = "gbc", -- Block-comment toggle keymap }, -- LHS of operator-pending mappings in NORMAL and VISUAL mode opleader = { - line = "gc", -- Line-comment keymap - block = "gb", -- Block-comment keymap + line = "gc", -- Line-comment keymap + block = "gb", -- Block-comment keymap }, -- LHS of extra mappings extra = { above = "gcO", -- Add comment on the line above below = "gco", -- Add comment on the line below - eol = "gcA", -- Add comment at the end of line + eol = "gcA", -- Add comment at the end of line }, -- Enable keybindings diff --git a/nvim/.config/nvim/lua/plugins/completions.lua b/nvim/.config/nvim/lua/plugins/completions.lua index 308ebd9..5609654 100644 --- a/nvim/.config/nvim/lua/plugins/completions.lua +++ b/nvim/.config/nvim/lua/plugins/completions.lua @@ -1,12 +1,20 @@ +-- completions.lua: Provides intelligent code completion via LSP or snippet engines. + return { { "hrsh7th/cmp-nvim-lsp", }, { - "hrsh7th/cmp-cmdline", -- NEW: Command line completion + "hrsh7th/cmp-cmdline", -- Command line completion }, { - "hrsh7th/cmp-nvim-lua", -- NEW: Better Neovim Lua API completion + "hrsh7th/cmp-nvim-lua", -- Better Neovim Lua API completion + }, + { + "hrsh7th/cmp-path", -- ADD THIS: Path completion source + }, + { + "hrsh7th/cmp-buffer", -- ADD THIS: Buffer completion source }, { "L3MON4D3/LuaSnip", @@ -21,7 +29,6 @@ return { config = function() local cmp = require("cmp") require("luasnip.loaders.from_vscode").lazy_load() - cmp.setup({ snippet = { expand = function(args) @@ -41,10 +48,12 @@ return { }), sources = cmp.config.sources({ { name = "nvim_lsp" }, - { name = "luasnip" }, -- For luasnip users. + { name = "luasnip" }, + { name = "nvim_lua" }, -- ADD THIS: For nvim lua API completion + }, { { name = "buffer" }, { name = "path" }, - { name = "cmp_tabnine" }, -- ai powerde suggestions + { name = "cmp_tabnine" }, -- ai powered suggestions }), }) end, diff --git a/nvim/.config/nvim/lua/plugins/conform.lua b/nvim/.config/nvim/lua/plugins/conform.lua index dd2d707..a1dff3d 100644 --- a/nvim/.config/nvim/lua/plugins/conform.lua +++ b/nvim/.config/nvim/lua/plugins/conform.lua @@ -1,3 +1,5 @@ +-- conform.lua: Automates code formatting on save or manual trigger. + return { { "stevearc/conform.nvim", diff --git a/nvim/.config/nvim/lua/plugins/dashboard.lua b/nvim/.config/nvim/lua/plugins/dashboard.lua index fa4c12e..88dd3f7 100644 --- a/nvim/.config/nvim/lua/plugins/dashboard.lua +++ b/nvim/.config/nvim/lua/plugins/dashboard.lua @@ -1,3 +1,5 @@ +-- dashboard.lua: Creates a customizable start screen with project shortcuts and statistics. + return { { "nvimdev/dashboard-nvim", diff --git a/nvim/.config/nvim/lua/plugins/dressing.lua b/nvim/.config/nvim/lua/plugins/dressing.lua index 772d8cf..b924b9c 100644 --- a/nvim/.config/nvim/lua/plugins/dressing.lua +++ b/nvim/.config/nvim/lua/plugins/dressing.lua @@ -1,3 +1,5 @@ +-- dressing.lua: Enhances UI elements like input boxes and select menus for consistency. + return { { "stevearc/dressing.nvim", diff --git a/nvim/.config/nvim/lua/plugins/flash-nvim.lua b/nvim/.config/nvim/lua/plugins/flash-nvim.lua index 7e7f638..1e4d927 100644 --- a/nvim/.config/nvim/lua/plugins/flash-nvim.lua +++ b/nvim/.config/nvim/lua/plugins/flash-nvim.lua @@ -1,50 +1,52 @@ +-- flash-nvim.lua: Highlights search matches and movement destinations for faster navigation. + return { - { - "folke/flash.nvim", - event = "VeryLazy", - ---@type Flash.Config - opts = {}, - keys = { - { - "w", - mode = { "n", "x", "o" }, - function() - require("flash").jump() - end, - desc = "Flash", - }, - { - "W", - mode = { "n", "x", "o" }, - function() - require("flash").treesitter() - end, - desc = "Flash Treesitter", - }, - { - "r", - mode = "o", - function() - require("flash").remote() - end, - desc = "Remote Flash", - }, - { - "R", - mode = { "o", "x" }, - function() - require("flash").treesitter_search() - end, - desc = "Treesitter Search", - }, - { - "", - mode = { "c" }, - function() - require("flash").toggle() - end, - desc = "Toggle Flash Search", - }, - }, - }, + { + "folke/flash.nvim", + event = "VeryLazy", + ---@type Flash.Config + opts = {}, + keys = { + { + "w", + mode = { "n", "x", "o" }, + function() + require("flash").jump() + end, + desc = "Flash", + }, + { + "W", + mode = { "n", "x", "o" }, + function() + require("flash").treesitter() + end, + desc = "Flash Treesitter", + }, + { + "r", + mode = "o", + function() + require("flash").remote() + end, + desc = "Remote Flash", + }, + { + "R", + mode = { "o", "x" }, + function() + require("flash").treesitter_search() + end, + desc = "Treesitter Search", + }, + { + "", + mode = { "c" }, + function() + require("flash").toggle() + end, + desc = "Toggle Flash Search", + }, + }, + }, } diff --git a/nvim/.config/nvim/lua/plugins/fzf.lua b/nvim/.config/nvim/lua/plugins/fzf.lua index efe3d97..e57be86 100644 --- a/nvim/.config/nvim/lua/plugins/fzf.lua +++ b/nvim/.config/nvim/lua/plugins/fzf.lua @@ -1,3 +1,5 @@ +-- fzf.lua: Integrates fuzzy Finder for quick file, buffer, and command searching. + return { { "ibhagwan/fzf-lua", diff --git a/nvim/.config/nvim/lua/plugins/git-signs.lua b/nvim/.config/nvim/lua/plugins/git-signs.lua index 7ac67c2..57f68a1 100644 --- a/nvim/.config/nvim/lua/plugins/git-signs.lua +++ b/nvim/.config/nvim/lua/plugins/git-signs.lua @@ -1,3 +1,5 @@ +-- git-signs.lua: Displays Git diff markers directly in the editor margin. + return { { "lewis6991/gitsigns.nvim", @@ -5,19 +7,19 @@ return { config = function() require("gitsigns").setup({ signs = { - add = { text = "│" }, - change = { text = "│" }, - delete = { text = "_" }, - topdelete = { text = "‾" }, + add = { text = "│" }, + change = { text = "│" }, + delete = { text = "_" }, + topdelete = { text = "‾" }, changedelete = { text = "~" }, - untracked = { text = "┆" }, + untracked = { text = "┆" }, }, - signcolumn = true, -- Toggle with `:Gitsigns toggle_signs` - numhl = false, -- Toggle with `:Gitsigns toggle_numhl` - linehl = false, -- Toggle with `:Gitsigns toggle_linehl` - word_diff = false, -- Toggle with `:Gitsigns toggle_word_diff` + signcolumn = true, -- Toggle with `:Gitsigns toggle_signs` + numhl = false, -- Toggle with `:Gitsigns toggle_numhl` + linehl = false, -- Toggle with `:Gitsigns toggle_linehl` + word_diff = false, -- Toggle with `:Gitsigns toggle_word_diff` watch_gitdir = { - follow_files = true + follow_files = true, }, attach_to_untracked = true, current_line_blame = false, -- Toggle with `:Gitsigns toggle_current_line_blame` @@ -38,7 +40,7 @@ return { style = "minimal", relative = "cursor", row = 0, - col = 1 + col = 1, }, on_attach = function(bufnr) local gs = package.loaded.gitsigns @@ -51,35 +53,51 @@ return { -- Navigation map("n", "]c", function() - if vim.wo.diff then return "]c" end - vim.schedule(function() gs.next_hunk() end) + if vim.wo.diff then + return "]c" + end + vim.schedule(function() + gs.next_hunk() + end) return "" end, { expr = true, desc = "Next hunk" }) map("n", "[c", function() - if vim.wo.diff then return "[c" end - vim.schedule(function() gs.prev_hunk() end) + if vim.wo.diff then + return "[c" + end + vim.schedule(function() + gs.prev_hunk() + end) return "" end, { expr = true, desc = "Previous hunk" }) -- Actions map("n", "hs", gs.stage_hunk, { desc = "Stage hunk" }) map("n", "hr", gs.reset_hunk, { desc = "Reset hunk" }) - map("v", "hs", function() gs.stage_hunk({ vim.fn.line("."), vim.fn.line("v") }) end, { desc = "Stage hunk" }) - map("v", "hr", function() gs.reset_hunk({ vim.fn.line("."), vim.fn.line("v") }) end, { desc = "Reset hunk" }) + map("v", "hs", function() + gs.stage_hunk({ vim.fn.line("."), vim.fn.line("v") }) + end, { desc = "Stage hunk" }) + map("v", "hr", function() + gs.reset_hunk({ vim.fn.line("."), vim.fn.line("v") }) + end, { desc = "Reset hunk" }) map("n", "hS", gs.stage_buffer, { desc = "Stage buffer" }) map("n", "hu", gs.undo_stage_hunk, { desc = "Undo stage hunk" }) map("n", "hR", gs.reset_buffer, { desc = "Reset buffer" }) map("n", "hp", gs.preview_hunk, { desc = "Preview hunk" }) - map("n", "hb", function() gs.blame_line({ full = true }) end, { desc = "Blame line" }) + map("n", "hb", function() + gs.blame_line({ full = true }) + end, { desc = "Blame line" }) map("n", "tb", gs.toggle_current_line_blame, { desc = "Toggle line blame" }) map("n", "hd", gs.diffthis, { desc = "Diff this" }) - map("n", "hD", function() gs.diffthis("~") end, { desc = "Diff this ~" }) + map("n", "hD", function() + gs.diffthis("~") + end, { desc = "Diff this ~" }) map("n", "td", gs.toggle_deleted, { desc = "Toggle deleted" }) -- Text object map({ "o", "x" }, "ih", ":Gitsigns select_hunk", { desc = "Select hunk" }) - end + end, }) end, }, diff --git a/nvim/.config/nvim/lua/plugins/grapple.lua b/nvim/.config/nvim/lua/plugins/grapple.lua new file mode 100644 index 0000000..e7db180 --- /dev/null +++ b/nvim/.config/nvim/lua/plugins/grapple.lua @@ -0,0 +1,19 @@ +-- grapple.lua: Manages and switches between workspace tags for project organization. + +return { + "cbochs/grapple.nvim", + event = { "BufReadPost", "BufNewFile" }, + dependencies = { "nvim-lua/plenary.nvim" }, + keys = { + { "m", "Grapple toggle", desc = "Grapple: toggle file" }, + { "M", "Grapple toggle_tags", desc = "Grapple: open tag menu" }, + { "1", "Grapple select index=1", desc = "Grapple: goto tag 1" }, + { "2", "Grapple select index=2", desc = "Grapple: goto tag 2" }, + { "3", "Grapple select index=3", desc = "Grapple: goto tag 3" }, + { "4", "Grapple select index=4", desc = "Grapple: goto tag 4" }, + }, + opts = { + scope = "git", -- per-branch scope + quick_select = "123456789", + }, +} diff --git a/nvim/.config/nvim/lua/plugins/indent-blankline.lua b/nvim/.config/nvim/lua/plugins/indent-blankline.lua index 7d901a9..7a5bb04 100644 --- a/nvim/.config/nvim/lua/plugins/indent-blankline.lua +++ b/nvim/.config/nvim/lua/plugins/indent-blankline.lua @@ -1,3 +1,5 @@ +-- indent-blankline.lua: Visualizes indentation levels with vertical guide lines. + return { { "lukas-reineke/indent-blankline.nvim", diff --git a/nvim/.config/nvim/lua/plugins/lazydev.lua b/nvim/.config/nvim/lua/plugins/lazydev.lua index d65d74e..9f61a5d 100644 --- a/nvim/.config/nvim/lua/plugins/lazydev.lua +++ b/nvim/.config/nvim/lua/plugins/lazydev.lua @@ -1,3 +1,5 @@ +-- lazydev.lua: Streamlines Neovim plugin management and dependency loading. + return { { "folke/lazydev.nvim", diff --git a/nvim/.config/nvim/lua/plugins/lsp-config.lua b/nvim/.config/nvim/lua/plugins/lsp-config.lua index 91205fc..1960493 100644 --- a/nvim/.config/nvim/lua/plugins/lsp-config.lua +++ b/nvim/.config/nvim/lua/plugins/lsp-config.lua @@ -1,3 +1,5 @@ +-- lsp-config.lua: Configures Language Server Protocol for code analysis and diagnostics. + return { { "williamboman/mason.nvim", @@ -20,10 +22,10 @@ return { "html", "texlab", "ltex", - "dockerls", -- Fixed: correct name - "yamlls", -- Fixed: correct name (not yaml-language-server) - "taplo", -- TOML LSP - "cssls", -- css + "dockerls", + "yamlls", + "taplo", + "cssls", }, }, }, @@ -36,7 +38,6 @@ return { config = function() local capabilities = require("cmp_nvim_lsp").default_capabilities() local navic = require("nvim-navic") - -- local lspconfig = require("lspconfig") -- Common on_attach function local on_attach = function(client, bufnr) @@ -88,11 +89,30 @@ return { ltex = { capabilities = capabilities, on_attach = on_attach, - filetypes = { "latex", "tex", "bib", "markdown" }, + filetypes = { "latex", "tex", "bib", "markdown", "mail", "text" }, settings = { ltex = { language = "en-US", - enabled = { "latex", "tex", "bib" }, + enabled = { "latex", "tex", "bib", "markdown", "mail", "text" }, + checkFrequency = "save", -- Only check when you save, not on every keystroke + diagnosticSeverity = "hint", -- Less intrusive + completionEnabled = true, + additionalRules = { + enablePickyRules = true, + motherTongue = "en-US", + }, + disabledRules = { + -- Add rules you want to disable, e.g.: + -- ["en-US"] = { "MORFOLOGIK_RULE_EN_US" }, + }, + dictionary = { + -- Add custom words here that shouldn't be flagged + ["en-US"] = { + -- "aerc", + -- "notmuch", + -- "dovecot", + }, + }, java = { path = "", initialHeapSize = 64, @@ -129,7 +149,7 @@ return { css = { validate = true, lint = { - unknownAtRules = "ignore", -- Important for @define-color in GTK CSS + unknownAtRules = "ignore", }, }, scss = { @@ -185,11 +205,31 @@ return { vim.lsp.enable(server) end + -- Configure diagnostics globally + vim.diagnostic.config({ + virtual_text = false, -- Disable inline diagnostic text (no more popups!) + signs = true, -- Keep gutter signs + underline = true, -- Underline errors + update_in_insert = false, -- Don't update diagnostics while typing + severity_sort = true, + float = { + border = "rounded", + source = "always", + header = "", + prefix = "", + }, + }) + -- LSP keymaps vim.keymap.set("n", "K", vim.lsp.buf.hover, {}) vim.keymap.set("n", "gd", vim.lsp.buf.definition, {}) vim.keymap.set("n", "gr", vim.lsp.buf.references, {}) vim.keymap.set("n", "ca", vim.lsp.buf.code_action, {}) + + -- Show diagnostics in floating window (optional - press this when you want to see the error) + vim.keymap.set("n", "e", vim.diagnostic.open_float, {}) + vim.keymap.set("n", "[d", vim.diagnostic.goto_prev, {}) + vim.keymap.set("n", "]d", vim.diagnostic.goto_next, {}) end, }, } diff --git a/nvim/.config/nvim/lua/plugins/lualine.lua b/nvim/.config/nvim/lua/plugins/lualine.lua index 6da1afe..b8435fd 100644 --- a/nvim/.config/nvim/lua/plugins/lualine.lua +++ b/nvim/.config/nvim/lua/plugins/lualine.lua @@ -1,3 +1,5 @@ +-- lualine.lua: Customizable status line showing file info, language, and mode. + return { "nvim-lualine/lualine.nvim", config = function() diff --git a/nvim/.config/nvim/lua/plugins/neo-tree.lua b/nvim/.config/nvim/lua/plugins/neo-tree.lua index 37a9fc4..0debd5d 100644 --- a/nvim/.config/nvim/lua/plugins/neo-tree.lua +++ b/nvim/.config/nvim/lua/plugins/neo-tree.lua @@ -1,3 +1,5 @@ +-- neo-tree.lua: File explorer with nested structure and Git integration. + return { "nvim-neo-tree/neo-tree.nvim", branch = "v3.x", diff --git a/nvim/.config/nvim/lua/plugins/neogit.lua b/nvim/.config/nvim/lua/plugins/neogit.lua index b530202..9c1c0ee 100644 --- a/nvim/.config/nvim/lua/plugins/neogit.lua +++ b/nvim/.config/nvim/lua/plugins/neogit.lua @@ -1,3 +1,5 @@ +-- neogit.lua: Embedded Git client with status, commits, and branch management. + return { { "NeogitOrg/neogit", diff --git a/nvim/.config/nvim/lua/plugins/noice.lua b/nvim/.config/nvim/lua/plugins/noice.lua index ab7f611..56d06b9 100644 --- a/nvim/.config/nvim/lua/plugins/noice.lua +++ b/nvim/.config/nvim/lua/plugins/noice.lua @@ -1,17 +1,19 @@ +-- noice.lua: Replaces default UI messages with polished, keyboard-friendly notifications. + return { -- lazy.nvim - { - "folke/noice.nvim", - event = "VeryLazy", - opts = { - -- add any options here - }, - dependencies = { - -- if you lazy-load any plugin below, make sure to add proper `module="..."` entries - "MunifTanjim/nui.nvim", - -- OPTIONAL: - -- `nvim-notify` is only needed, if you want to use the notification view. - -- If not available, we use `mini` as the fallback - "rcarriga/nvim-notify", - }, - }, + { + "folke/noice.nvim", + event = "VeryLazy", + opts = { + -- add any options here + }, + dependencies = { + -- if you lazy-load any plugin below, make sure to add proper `module="..."` entries + "MunifTanjim/nui.nvim", + -- OPTIONAL: + -- `nvim-notify` is only needed, if you want to use the notification view. + -- If not available, we use `mini` as the fallback + "rcarriga/nvim-notify", + }, + }, } diff --git a/nvim/.config/nvim/lua/plugins/nvim-colorizer.lua b/nvim/.config/nvim/lua/plugins/nvim-colorizer.lua index fca9b59..2009a5f 100644 --- a/nvim/.config/nvim/lua/plugins/nvim-colorizer.lua +++ b/nvim/.config/nvim/lua/plugins/nvim-colorizer.lua @@ -1,3 +1,5 @@ +-- nvim-colorizer.lua: Highlights color codes (e.g., #FFFFFF) directly in code. + return { { "norcalli/nvim-colorizer.lua", diff --git a/nvim/.config/nvim/lua/plugins/nvim-lint.lua b/nvim/.config/nvim/lua/plugins/nvim-lint.lua index 063e7f7..2b83509 100644 --- a/nvim/.config/nvim/lua/plugins/nvim-lint.lua +++ b/nvim/.config/nvim/lua/plugins/nvim-lint.lua @@ -1,3 +1,5 @@ +-- nvim-lint.lua: Runs linters automatically on save or on-demand for code quality. + return { { "mfussenegger/nvim-lint", diff --git a/nvim/.config/nvim/lua/plugins/nvim-spectre.lua b/nvim/.config/nvim/lua/plugins/nvim-spectre.lua index 8098071..8cfc135 100644 --- a/nvim/.config/nvim/lua/plugins/nvim-spectre.lua +++ b/nvim/.config/nvim/lua/plugins/nvim-spectre.lua @@ -1,159 +1,161 @@ +-- nvim-spectre.lua: Global search/replace tool with real-time preview and refactoring. + return { - { - "nvim-pack/nvim-spectre", - dependencies = { - "nvim-lua/plenary.nvim", - }, - config = function() - require("spectre").setup({ - -- Optional: customize colors - color_devicons = true, - open_cmd = "vnew", - live_update = false, -- auto execute search again when you write any file - line_sep_start = "┌-----------------------------------------", - result_padding = "¦ ", - line_sep = "└-----------------------------------------", - highlight = { - ui = "String", - search = "DiffChange", - replace = "DiffDelete", - }, - mapping = { - ["toggle_line"] = { - map = "dd", - cmd = "lua require('spectre').toggle_line()", - desc = "toggle item", - }, - ["enter_file"] = { - map = "", - cmd = "lua require('spectre.actions').select_entry()", - desc = "open file", - }, - ["send_to_qf"] = { - map = "q", - cmd = "lua require('spectre.actions').send_to_qf()", - desc = "send all items to quickfix", - }, - ["replace_cmd"] = { - map = "c", - cmd = "lua require('spectre.actions').replace_cmd()", - desc = "input replace command", - }, - ["show_option_menu"] = { - map = "o", - cmd = "lua require('spectre').show_options()", - desc = "show options", - }, - ["run_current_replace"] = { - map = "rc", - cmd = "lua require('spectre.actions').run_current_replace()", - desc = "replace current line", - }, - ["run_replace"] = { - map = "R", - cmd = "lua require('spectre.actions').run_replace()", - desc = "replace all", - }, - ["change_view_mode"] = { - map = "v", - cmd = "lua require('spectre').change_view()", - desc = "change result view mode", - }, - ["change_replace_sed"] = { - map = "trs", - cmd = "lua require('spectre').change_engine_replace('sed')", - desc = "use sed to replace", - }, - ["change_replace_oxi"] = { - map = "tro", - cmd = "lua require('spectre').change_engine_replace('oxi')", - desc = "use oxi to replace", - }, - ["toggle_live_update"] = { - map = "tu", - cmd = "lua require('spectre').toggle_live_update()", - desc = "update when vim writes to file", - }, - ["toggle_ignore_case"] = { - map = "ti", - cmd = "lua require('spectre').change_options('ignore-case')", - desc = "toggle ignore case", - }, - ["toggle_ignore_hidden"] = { - map = "th", - cmd = "lua require('spectre').change_options('hidden')", - desc = "toggle search hidden", - }, - ["resume_last_search"] = { - map = "l", - cmd = "lua require('spectre').resume_last_search()", - desc = "resume last search", - }, - }, - find_engine = { - ["rg"] = { - cmd = "rg", - args = { - "--color=never", - "--no-heading", - "--with-filename", - "--line-number", - "--column", - }, - options = { - ["ignore-case"] = { - value = "--ignore-case", - icon = "[I]", - desc = "ignore case", - }, - ["hidden"] = { - value = "--hidden", - desc = "hidden file", - icon = "[H]", - }, - }, - }, - }, - replace_engine = { - ["sed"] = { - cmd = "sed", - args = nil, - options = { - ["ignore-case"] = { - value = "--ignore-case", - icon = "[I]", - desc = "ignore case", - }, - }, - }, - }, - default = { - find = { - cmd = "rg", - options = { "ignore-case" }, - }, - replace = { - cmd = "sed", - }, - }, - }) + { + "nvim-pack/nvim-spectre", + dependencies = { + "nvim-lua/plenary.nvim", + }, + config = function() + require("spectre").setup({ + -- Optional: customize colors + color_devicons = true, + open_cmd = "vnew", + live_update = false, -- auto execute search again when you write any file + line_sep_start = "┌-----------------------------------------", + result_padding = "¦ ", + line_sep = "└-----------------------------------------", + highlight = { + ui = "String", + search = "DiffChange", + replace = "DiffDelete", + }, + mapping = { + ["toggle_line"] = { + map = "dd", + cmd = "lua require('spectre').toggle_line()", + desc = "toggle item", + }, + ["enter_file"] = { + map = "", + cmd = "lua require('spectre.actions').select_entry()", + desc = "open file", + }, + ["send_to_qf"] = { + map = "q", + cmd = "lua require('spectre.actions').send_to_qf()", + desc = "send all items to quickfix", + }, + ["replace_cmd"] = { + map = "c", + cmd = "lua require('spectre.actions').replace_cmd()", + desc = "input replace command", + }, + ["show_option_menu"] = { + map = "o", + cmd = "lua require('spectre').show_options()", + desc = "show options", + }, + ["run_current_replace"] = { + map = "rc", + cmd = "lua require('spectre.actions').run_current_replace()", + desc = "replace current line", + }, + ["run_replace"] = { + map = "R", + cmd = "lua require('spectre.actions').run_replace()", + desc = "replace all", + }, + ["change_view_mode"] = { + map = "v", + cmd = "lua require('spectre').change_view()", + desc = "change result view mode", + }, + ["change_replace_sed"] = { + map = "trs", + cmd = "lua require('spectre').change_engine_replace('sed')", + desc = "use sed to replace", + }, + ["change_replace_oxi"] = { + map = "tro", + cmd = "lua require('spectre').change_engine_replace('oxi')", + desc = "use oxi to replace", + }, + ["toggle_live_update"] = { + map = "tu", + cmd = "lua require('spectre').toggle_live_update()", + desc = "update when vim writes to file", + }, + ["toggle_ignore_case"] = { + map = "ti", + cmd = "lua require('spectre').change_options('ignore-case')", + desc = "toggle ignore case", + }, + ["toggle_ignore_hidden"] = { + map = "th", + cmd = "lua require('spectre').change_options('hidden')", + desc = "toggle search hidden", + }, + ["resume_last_search"] = { + map = "l", + cmd = "lua require('spectre').resume_last_search()", + desc = "resume last search", + }, + }, + find_engine = { + ["rg"] = { + cmd = "rg", + args = { + "--color=never", + "--no-heading", + "--with-filename", + "--line-number", + "--column", + }, + options = { + ["ignore-case"] = { + value = "--ignore-case", + icon = "[I]", + desc = "ignore case", + }, + ["hidden"] = { + value = "--hidden", + desc = "hidden file", + icon = "[H]", + }, + }, + }, + }, + replace_engine = { + ["sed"] = { + cmd = "sed", + args = nil, + options = { + ["ignore-case"] = { + value = "--ignore-case", + icon = "[I]", + desc = "ignore case", + }, + }, + }, + }, + default = { + find = { + cmd = "rg", + options = { "ignore-case" }, + }, + replace = { + cmd = "sed", + }, + }, + }) - -- Global keymaps - vim.keymap.set("n", "S", 'lua require("spectre").toggle()', { - desc = "Toggle Spectre", - }) + -- Global keymaps + vim.keymap.set("n", "S", 'lua require("spectre").toggle()', { + desc = "Toggle Spectre", + }) - vim.keymap.set("n", "sw", 'lua require("spectre").open_visual({select_word=true})', { - desc = "Search current word", - }) + vim.keymap.set("n", "sw", 'lua require("spectre").open_visual({select_word=true})', { + desc = "Search current word", + }) - vim.keymap.set("v", "sw", 'lua require("spectre").open_visual()', { - desc = "Search current word", - }) + vim.keymap.set("v", "sw", 'lua require("spectre").open_visual()', { + desc = "Search current word", + }) - vim.keymap.set("n", "sp", 'lua require("spectre").open_file_search({select_word=true})', { - desc = "Search in current file", - }) - end, - }, + vim.keymap.set("n", "sp", 'lua require("spectre").open_file_search({select_word=true})', { + desc = "Search in current file", + }) + end, + }, } diff --git a/nvim/.config/nvim/lua/plugins/nvim-surround.lua b/nvim/.config/nvim/lua/plugins/nvim-surround.lua index 1e380cc..f4b686f 100644 --- a/nvim/.config/nvim/lua/plugins/nvim-surround.lua +++ b/nvim/.config/nvim/lua/plugins/nvim-surround.lua @@ -1,5 +1,6 @@ +-- nvim-surround.lua: Quickly add, delete, or change surrounding delimiters (e.g., brackets). + -- nvim-surround configuration with autopairs, treesitter, and comment integration --- Place this in ~/.config/nvim/lua/plugins/nvim-surround.lua (for lazy.nvim) return { -- nvim-surround: manipulate surroundings diff --git a/nvim/.config/nvim/lua/plugins/nvim-tmux-navigation.lua b/nvim/.config/nvim/lua/plugins/nvim-tmux-navigation.lua index 867d0e8..16eb341 100644 --- a/nvim/.config/nvim/lua/plugins/nvim-tmux-navigation.lua +++ b/nvim/.config/nvim/lua/plugins/nvim-tmux-navigation.lua @@ -1,7 +1,9 @@ +-- nvim-tmux-navigator.lua: Switch between Neovim and tmux panes using consistent keybindings. + return { "alexghergh/nvim-tmux-navigation", config = function() - require('nvim-tmux-navigation').setup({}) + require("nvim-tmux-navigation").setup({}) vim.keymap.set("n", "", "NvimTmuxNavigateLeft", {}) vim.keymap.set("n", "", "NvimTmuxNavigateDown", {}) vim.keymap.set("n", "", "NvimTmuxNavigateUp", {}) diff --git a/nvim/.config/nvim/lua/plugins/nvim-web-devicons.lua b/nvim/.config/nvim/lua/plugins/nvim-web-devicons.lua index 2b5b575..dbbf481 100644 --- a/nvim/.config/nvim/lua/plugins/nvim-web-devicons.lua +++ b/nvim/.config/nvim/lua/plugins/nvim-web-devicons.lua @@ -1,3 +1,5 @@ +-- nvim-web-devicons.lua: Adds icons for file types to improve visual navigation. + return { { "nvim-tree/nvim-web-devicons", @@ -11,23 +13,23 @@ return { icon = "", color = "#428850", cterm_color = "65", - name = "Zsh" + name = "Zsh", }, -- Add custom icons ["Dockerfile"] = { icon = "", color = "#384d54", - name = "Dockerfile" + name = "Dockerfile", }, [".env"] = { icon = "", color = "#faf743", - name = "Env" + name = "Env", }, [".gitignore"] = { icon = "", color = "#f1502f", - name = "GitIgnore" + name = "GitIgnore", }, }, -- Override by file extension @@ -35,17 +37,17 @@ return { ["log"] = { icon = "", color = "#81e043", - name = "Log" + name = "Log", }, ["rs"] = { icon = "", color = "#dea584", - name = "Rust" + name = "Rust", }, ["md"] = { icon = "", color = "#519aba", - name = "Markdown" + name = "Markdown", }, }, -- Override by filename @@ -53,27 +55,27 @@ return { ["makefile"] = { icon = "", color = "#6d8086", - name = "Makefile" + name = "Makefile", }, ["dockerfile"] = { icon = "", color = "#384d54", - name = "Dockerfile" + name = "Dockerfile", }, [".dockerignore"] = { icon = "", color = "#384d54", - name = "DockerIgnore" + name = "DockerIgnore", }, ["package.json"] = { icon = "", color = "#e8274b", - name = "PackageJson" + name = "PackageJson", }, ["package-lock.json"] = { icon = "", color = "#7a0d21", - name = "PackageLockJson" + name = "PackageLockJson", }, }, -- Use colors by default diff --git a/nvim/.config/nvim/lua/plugins/obsidian.lua b/nvim/.config/nvim/lua/plugins/obsidian.lua index cd351e4..07589bd 100644 --- a/nvim/.config/nvim/lua/plugins/obsidian.lua +++ b/nvim/.config/nvim/lua/plugins/obsidian.lua @@ -1,3 +1,5 @@ +-- obsidian.lua: Integrates Obsidian note-taking workflow into Neovim. + return { { "epwalsh/obsidian.nvim", diff --git a/nvim/.config/nvim/lua/plugins/portal.lua b/nvim/.config/nvim/lua/plugins/portal.lua index 6ed8469..5a71a04 100644 --- a/nvim/.config/nvim/lua/plugins/portal.lua +++ b/nvim/.config/nvim/lua/plugins/portal.lua @@ -1,72 +1,69 @@ +-- portal.lua: Saves and recalls cursor positions across files for efficient navigation. + return { - { - "cbochs/portal.nvim", - dependencies = { - "cbochs/grapple.nvim", -- Optional: for grapple integration - "ThePrimeagen/harpoon", -- Optional: for harpoon integration - }, - config = function() - -- Setup portal - require("portal").setup({ - labels = { "j", "k", "h", "l" }, - escape = { - [""] = true, - }, - }) + { + "cbochs/portal.nvim", + dependencies = { + "cbochs/grapple.nvim", -- Optional: for grapple integration + -- "ThePrimeagen/harpoon", -- Optional: for harpoon integration + }, + config = function() + -- Setup portal + require("portal").setup({ + labels = { "j", "k", "h", "l" }, + escape = { + [""] = true, + }, + }) - -- Basic navigation keymaps - vim.keymap.set("n", "u", "Portal jumplist backward", { desc = "Portal: Jump backward" }) + -- Basic navigation keymaps + vim.keymap.set("n", "u", "Portal jumplist backward", { desc = "Portal: Jump backward" }) - vim.keymap.set("n", "i", "Portal jumplist forward", { desc = "Portal: Jump forward" }) + vim.keymap.set("n", "i", "Portal jumplist forward", { desc = "Portal: Jump forward" }) - -- Changelist navigation - vim.keymap.set( - "n", - "po", - "Portal changelist backward", - { desc = "Portal: Jump backward (changelist)" } - ) + -- Changelist navigation + vim.keymap.set( + "n", + "po", + "Portal changelist backward", + { desc = "Portal: Jump backward (changelist)" } + ) - vim.keymap.set( - "n", - "pi", - "Portal changelist forward", - { desc = "Portal: Jump forward (changelist)" } - ) + vim.keymap.set( + "n", + "pi", + "Portal changelist forward", + { desc = "Portal: Jump forward (changelist)" } + ) - -- Quickfix navigation - vim.keymap.set( - "n", - "qo", - "Portal quickfix backward", - { desc = "Portal: Jump backward (quickfix)" } - ) + -- Quickfix navigation + vim.keymap.set( + "n", + "qo", + "Portal quickfix backward", + { desc = "Portal: Jump backward (quickfix)" } + ) - vim.keymap.set( - "n", - "qi", - "Portal quickfix forward", - { desc = "Portal: Jump forward (quickfix)" } - ) + vim.keymap.set( + "n", + "qi", + "Portal quickfix forward", + { desc = "Portal: Jump forward (quickfix)" } + ) - -- Optional: Harpoon integration - vim.keymap.set( - "n", - "ho", - "Portal harpoon backward", - { desc = "Portal: Jump backward (harpoon)" } - ) + -- Optional: Harpoon integration + vim.keymap.set( + "n", + "ho", + "Portal harpoon backward", + { desc = "Portal: Jump backward (harpoon)" } + ) - vim.keymap.set( - "n", - "hi", - "Portal harpoon forward", - { desc = "Portal: Jump forward (harpoon)" } - ) - end, - keys = { - { "u", desc = "Portal: Jump backward" }, - { "i", desc = "Portal: Jump forward" }, - }, - }, + vim.keymap.set("n", "hi", "Portal harpoon forward", { desc = "Portal: Jump forward (harpoon)" }) + end, + keys = { + { "u", desc = "Portal: Jump backward" }, + { "i", desc = "Portal: Jump forward" }, + }, + }, } diff --git a/nvim/.config/nvim/lua/plugins/r-nvim.lua b/nvim/.config/nvim/lua/plugins/r-nvim.lua index 7da97c7..3df1d57 100644 --- a/nvim/.config/nvim/lua/plugins/r-nvim.lua +++ b/nvim/.config/nvim/lua/plugins/r-nvim.lua @@ -1,3 +1,5 @@ +-- r-nvim.lua: Provides R language support (syntax, LSP, and tools) within Neovim. + return { "R-nvim/R.nvim", lazy = false, -- load immediately diff --git a/nvim/.config/nvim/lua/plugins/rainbow.lua b/nvim/.config/nvim/lua/plugins/rainbow.lua index e4ee769..84feb1e 100644 --- a/nvim/.config/nvim/lua/plugins/rainbow.lua +++ b/nvim/.config/nvim/lua/plugins/rainbow.lua @@ -1,3 +1,5 @@ +-- rainbow.lua: Colors nested brackets/parentheses to visually distinguish levels. + return { { "HiPhish/rainbow-delimiters.nvim", diff --git a/nvim/.config/nvim/lua/plugins/render-markdown.lua b/nvim/.config/nvim/lua/plugins/render-markdown.lua index f87d8f5..d039c02 100644 --- a/nvim/.config/nvim/lua/plugins/render-markdown.lua +++ b/nvim/.config/nvim/lua/plugins/render-markdown.lua @@ -1,3 +1,5 @@ +-- render-markdown.lua: Live previews or syntax enhancements for Markdown files. + return { { "MeanderingProgrammer/render-markdown.nvim", diff --git a/nvim/.config/nvim/lua/plugins/snacks.lua b/nvim/.config/nvim/lua/plugins/snacks.lua new file mode 100644 index 0000000..a2a6778 --- /dev/null +++ b/nvim/.config/nvim/lua/plugins/snacks.lua @@ -0,0 +1,99 @@ +-- snacks.lua: Minimal UI notifications for background tasks (e.g., LSP, file ops). + +return { + "folke/snacks.nvim", + priority = 1000, + lazy = false, + opts = { + bigfile = { enabled = true }, + notifier = { enabled = true, timeout = 3000 }, + quickfile = { enabled = true }, + statuscolumn = { enabled = true }, + words = { enabled = true }, + scratch = { enabled = true, ft = "lua" }, + zen = { enabled = true }, + git = { enabled = true }, -- issue / PR / blame pickers + }, + keys = { + -- github + { + "gi", + function() + Snacks.picker.gh_issue({ state = "open" }) + end, + desc = "GitHub issues (open)", + }, + { + "gI", + function() + Snacks.picker.gh_issue({ state = "all" }) + end, + desc = "GitHub issues (all)", + }, + { + "gp", + function() + Snacks.picker.gh_pr({ state = "open" }) + end, + desc = "GitHub PRs (open)", + }, + { + "gP", + function() + Snacks.picker.gh_pr({ state = "all" }) + end, + desc = "GitHub PRs (all)", + }, + -- grep / nav + { + "sb", + function() + Snacks.picker.lines() + end, + desc = "Buffer lines", + }, + { + "sB", + function() + Snacks.picker.grep_buffers() + end, + desc = "Grep open buffers", + }, + { + "sg", + function() + Snacks.picker.grep() + end, + desc = "Live grep", + }, + { + "sw", + function() + Snacks.picker.grep_word() + end, + desc = "Grep word", + }, + { + 's"', + function() + Snacks.picker.registers() + end, + desc = "Registers", + }, + -- zen / scratch + { + "z", + function() + Snacks.zen() + end, + desc = "Zen mode", + }, + { + "s", + function() + Snacks.scratch() + end, + desc = "Scratch buffer", + }, + }, +} diff --git a/nvim/.config/nvim/lua/plugins/telescope.lua b/nvim/.config/nvim/lua/plugins/telescope.lua index 42df8ac..8700f51 100644 --- a/nvim/.config/nvim/lua/plugins/telescope.lua +++ b/nvim/.config/nvim/lua/plugins/telescope.lua @@ -1,3 +1,5 @@ +-- telescope.lua: Highly extensible fuzzy finder for files, code, and plugins. + return { { "nvim-telescope/telescope-ui-select.nvim", diff --git a/nvim/.config/nvim/lua/plugins/tokyonight.lua b/nvim/.config/nvim/lua/plugins/tokyonight.lua deleted file mode 100644 index d18dd13..0000000 --- a/nvim/.config/nvim/lua/plugins/tokyonight.lua +++ /dev/null @@ -1,8 +0,0 @@ -return { - { - "folke/tokyonight.nvim", - lazy = false, - priority = 1000, - opts = {}, - }, -} diff --git a/nvim/.config/nvim/lua/plugins/treesitter.lua b/nvim/.config/nvim/lua/plugins/treesitter.lua index baf3e3a..b728646 100644 --- a/nvim/.config/nvim/lua/plugins/treesitter.lua +++ b/nvim/.config/nvim/lua/plugins/treesitter.lua @@ -1,3 +1,5 @@ +-- treesitter.lua: Enables syntax highlighting, code folding, and structural analysis. + return { { "nvim-treesitter/nvim-treesitter", diff --git a/nvim/.config/nvim/lua/plugins/trouble.lua b/nvim/.config/nvim/lua/plugins/trouble.lua index 5018ef2..0643552 100644 --- a/nvim/.config/nvim/lua/plugins/trouble.lua +++ b/nvim/.config/nvim/lua/plugins/trouble.lua @@ -1,3 +1,5 @@ +-- trouble.lua: Aggregates diagnostics, references, and code issues into a single panel. + return { { "folke/trouble.nvim", diff --git a/nvim/.config/nvim/lua/plugins/vimtex.lua b/nvim/.config/nvim/lua/plugins/vimtex.lua index 17039cb..d4f95f1 100644 --- a/nvim/.config/nvim/lua/plugins/vimtex.lua +++ b/nvim/.config/nvim/lua/plugins/vimtex.lua @@ -1,3 +1,5 @@ +-- vimtex.lua: Full LaTeX editing support (compiling, viewing, and syntax). + return { "lervag/vimtex", ft = "tex", diff --git a/nvim/.config/nvim/lua/plugins/which-key.lua b/nvim/.config/nvim/lua/plugins/which-key.lua index 84dd848..aea576f 100644 --- a/nvim/.config/nvim/lua/plugins/which-key.lua +++ b/nvim/.config/nvim/lua/plugins/which-key.lua @@ -1,3 +1,5 @@ +-- which-key.lua: Displays keybinding hints for uncompleted commands to reduce memorization. + return { { "folke/which-key.nvim", diff --git a/nvim/.config/nvim/lua/plugins/yazi-nvim.lua b/nvim/.config/nvim/lua/plugins/yazi-nvim.lua index 998b9da..e204fe4 100644 --- a/nvim/.config/nvim/lua/plugins/yazi-nvim.lua +++ b/nvim/.config/nvim/lua/plugins/yazi-nvim.lua @@ -1,3 +1,5 @@ +-- yazi-nvim.lua: Bridges Neovim with Yazi file manager for fast directory navigation. + return { { "mikavilpas/yazi.nvim", diff --git a/scripts/scripts/abook.sh b/scripts/scripts/abook.sh new file mode 100755 index 0000000..c9f28e7 --- /dev/null +++ b/scripts/scripts/abook.sh @@ -0,0 +1,35 @@ +#!/bin/bash +# Automatically learn email addresses from sent/received mail + +ABOOK_FILE="$HOME/.abook/addressbook" +mkdir -p "$HOME/.abook" +touch "$ABOOK_FILE" + +# Extract all email addresses from notmuch database +notmuch address --output=sender --output=recipients '*' | + sort -u | + while read -r email; do + # Check if email is already in abook + if ! grep -q "$email" "$ABOOK_FILE" 2>/dev/null; then + # Extract name and email + if [[ $email =~ ^(.+)\<(.+)\>$ ]]; then + NAME="${BASH_REMATCH[1]}" + EMAIL="${BASH_REMATCH[2]}" + else + NAME="" + EMAIL="$email" + fi + + # Add to abook (skip if already exists) + echo "[format] +program=abook +version=0.6.1 + +[0] +name=$NAME +email=$EMAIL +" >>"$ABOOK_FILE" + fi + done + +echo "Address book updated: $(grep -c '^\[' "$ABOOK_FILE") entries" diff --git a/scripts/scripts/fzf-address.sh b/scripts/scripts/fzf-address.sh new file mode 100755 index 0000000..17a0f9c --- /dev/null +++ b/scripts/scripts/fzf-address.sh @@ -0,0 +1,25 @@ +#!/bin/bash +# Fuzzy find email addresses with fzf + +QUERY="$1" + +# Get all addresses from notmuch +ADDRESSES=$(notmuch address --output=sender --output=recipients \ + --deduplicate=address '*' | sort -u) + +# If query is provided, pre-filter +if [ -n "$QUERY" ]; then + ADDRESSES=$(echo "$ADDRESSES" | grep -i "$QUERY") +fi + +# Use fzf for selection +SELECTED=$(echo "$ADDRESSES" | fzf \ + --height=40% \ + --layout=reverse \ + --border \ + --prompt="Select recipient: " \ + --preview="" \ + --query="$QUERY") + +# Output selected address +echo "$SELECTED" diff --git a/scripts/scripts/mail b/scripts/scripts/mail new file mode 100644 index 0000000..e69de29 diff --git a/wofi/.config/wofi/style.css b/wofi/.config/wofi/style.css deleted file mode 100644 index 3dc0445..0000000 --- a/wofi/.config/wofi/style.css +++ /dev/null @@ -1,57 +0,0 @@ -/* * { */ -/* font-family: "CaskaydiaCove Nerd Font", monospace; */ -/* font-size: 18px; */ -/* } */ - -window { - margin: 0px; - border: 1px solid #bd93f9; - border-radius: 8px; - background-color: #282a36; -} - -#input { - margin: 5px; - border: none; - color: #f8f8f2; - background-color: #44475a; -} - -#inner-box { - margin: 5px; - border: none; - background-color: #282a36; -} - -#outer-box { - margin: 5px; - border: none; - background-color: #282a36; -} - -#scroll { - margin: 0px; - border: none; -} - -#text { - margin: 5px; - border: none; - color: #f8f8f2; -} - -#entry.activatable #text { - color: #282a36; -} - -#entry > * { - color: #f8f8f2; -} - -#entry:selected { - background-color: #44475a; -} - -#entry:selected #text { - font-weight: bold; -} diff --git a/wofi/.config/wofi/style.css b/wofi/.config/wofi/style.css new file mode 120000 index 0000000..a95bbce --- /dev/null +++ b/wofi/.config/wofi/style.css @@ -0,0 +1 @@ +/home/liph/.config/wofi/themes/rose-pine-moon.css \ No newline at end of file diff --git a/wofi/.config/wofi/style_1.css b/wofi/.config/wofi/style_1.css deleted file mode 100644 index 2c0aaa2..0000000 --- a/wofi/.config/wofi/style_1.css +++ /dev/null @@ -1,87 +0,0 @@ -@import "theme.css"; - -* { - font-family: "CaskaydiaCove Nerd Font", monospace; - font-size: 18px; -} - -/* Window */ -window { - margin: 0px; - padding: 10px; - border: 2px solid @lavender; - border-radius: 8px; - background-color: @base; -} - -/* Inner Box */ -#inner-box { - margin: 5px; - padding: 10px; - border: none; - background-color: @base; -} - -/* Outer Box */ -#outer-box { - margin: 5px; - padding: 10px; - border: none; - background-color: @base; -} - -/* Scroll */ -#scroll { - margin: 0px; - padding: 10px; - border: none; - background-color: @base; -} - -/* Input */ -#input { - margin: 5px 20px; - padding: 10px; - border: none; - border-radius: 0.1em; - color: @text; - background-color: @base; -} - -#input image { - border: none; - color: @red; -} - -#input * { - outline: 4px solid @red!important; -} - -/* Text */ -#text { - margin: 5px; - border: none; - color: @text; -} - -#entry { - background-color: @base; -} - -#entry arrow { - border: none; - color: @lavender; -} - -/* Selected Entry */ -#entry:selected { - border: 0.11em solid @lavender; -} - -#entry:selected #text { - color: @mauve; -} - -#entry:drop(active) { - background-color: @lavender!important; -} diff --git a/wofi/.config/wofi/themes/rose-pine-moon.css b/wofi/.config/wofi/themes/rose-pine-moon.css index 2f484d2..08836a9 100644 --- a/wofi/.config/wofi/themes/rose-pine-moon.css +++ b/wofi/.config/wofi/themes/rose-pine-moon.css @@ -1,8 +1,8 @@ window { margin: 0px; background-color: #232136; - border-radius: 0px; - border: 2px solid #eb6f92; + border-radius: 10px; + border: 2px solid #c4a7e7; color: #e0def4; font-family: "Monofur Nerd Font"; font-size: 20px; @@ -10,10 +10,10 @@ window { #input { margin: 5px; - border-radius: 0px; + border-radius: 10px; border: none; - border-radius: 0px; - color: #eb6f92; + border-radius: 10px; + color: #c4a7e7; background-color: #393552; } @@ -22,7 +22,7 @@ window { border: none; background-color: #393552; color: #232136; - border-radius: 0px; + border-radius: 5px; } #outer-box { @@ -43,15 +43,15 @@ window { } #entry:selected { - background-color: #eb6f92; + background-color: #eba0ac; color: #232136; - border-radius: 0px; + border-radius: 5px; outline: none; } #entry:selected * { - background-color: #eb6f92; + background-color: #eba0ac; color: #232136; - border-radius: 0px; + border-radius: 5px; outline: none; } diff --git a/yazi/.config/yazi/init.lua b/yazi/.config/yazi/init.lua index 2276cd7..64398eb 100644 --- a/yazi/.config/yazi/init.lua +++ b/yazi/.config/yazi/init.lua @@ -1,7 +1,13 @@ -- Change this to switch themes -local THEME = "carbonfox" +local THEME = "rose_pine" local theme_colors = { + rose_pine = { + primary = "#c4a7e7", -- iris/mauve (purple-like color from rose-pine palette) + secondary = "#6e6a86", -- muted/subtle (comparable to comment/gray colors) + yanked = "#9ccfd8", -- foam (cyan-like accent color) + cut = "#eb6f92", -- love (red-like accent color) + }, carbonfox = { primary = "#78a9ff", secondary = "#525252", @@ -26,6 +32,36 @@ local theme_colors = { yanked = "#94e2d5", cut = "#f38ba8", }, + dracula = { + primary = "#bd93f9", -- purple + secondary = "#6272a4", -- comment + yanked = "#8be9fd", -- cyan + cut = "#ff5555", -- red + }, + everforest = { + primary = "#7fbbb3", -- aqua + secondary = "#859289", -- gray + yanked = "#a7c080", -- green + cut = "#e67e80", -- red + }, + gruvbox = { + primary = "#7daea3", -- aqua + secondary = "#7c6f64", -- gray + yanked = "#a9b665", -- green + cut = "#ea6962", -- red + }, + nightfox = { + primary = "#719cd6", -- blue + secondary = "#738091", -- comment + yanked = "#63cdcf", -- cyan + cut = "#c94f6d", -- red + }, + onedark = { + primary = "#61afef", -- blue + secondary = "#5c6370", -- gray + yanked = "#56b6c2", -- cyan + cut = "#e06c75", -- red + }, } local c = theme_colors[THEME] @@ -53,10 +89,9 @@ require("yaziline"):setup({ filename_truncate_separator = "...", }) --- require("recycle-bin") --- setup({ --- trash_dir = "~/.local/share/Trash/", --- }) +require("recycle-bin"):setup({ + trash_dir = "~/.local/share/Trash/", +}) require("omp"):setup({ config = "/home/liph/.config/yazi/omp/omp.toml" }) diff --git a/yazi/.config/yazi/plugins/mime-ext.yazi/main.lua b/yazi/.config/yazi/plugins/mime-ext.yazi/main.lua index 234fd06..2734a40 100644 --- a/yazi/.config/yazi/plugins/mime-ext.yazi/main.lua +++ b/yazi/.config/yazi/plugins/mime-ext.yazi/main.lua @@ -12,6 +12,7 @@ local FILES = { ["cargo.lock"] = "application/json", ["flake.lock"] = "application/json", license = "text/plain", + config ="text/plain", } local EXTS = { @@ -149,6 +150,7 @@ local EXTS = { cod = "application/rim.cod", com = "application/msdownload", conf = "text/plain", + config ="text/plain", cpio = "application/cpio", cpp = "text/c", cpt = "application/mac-compactpro", @@ -845,6 +847,7 @@ local EXTS = { tif = "image/tiff", tiff = "image/tiff", tmo = "application/tmobile-livetv", + tmTheme = "text/plain", toml = "text/toml", torrent = "application/bittorrent", tpl = "application/groove-tool-template", diff --git a/yazi/.config/yazi/tags/home/liph/Downloads/tags.json b/yazi/.config/yazi/tags/home/liph/Downloads/tags.json new file mode 100644 index 0000000..1facf9d --- /dev/null +++ b/yazi/.config/yazi/tags/home/liph/Downloads/tags.json @@ -0,0 +1 @@ +{"\\x62\\x61\\x63\\x6B\\x75\\x70\\x2D\\x4C\\x69\\x70\\x68\\x52\\x6F\\x6F\\x74\\x2D\\x32\\x30\\x32\\x35\\x2D\\x30\\x35\\x2D\\x33\\x31\\x2E\\x74\\x61\\x72\\x2E\\x67\\x7A":["\\x31"]} \ No newline at end of file diff --git a/yazi/.config/yazi/themes/gruvbox-mat.toml b/yazi/.config/yazi/themes/gruvbox-mat.toml new file mode 100644 index 0000000..6677c0e --- /dev/null +++ b/yazi/.config/yazi/themes/gruvbox-mat.toml @@ -0,0 +1,72 @@ +# Gruvbox Material Dark theme for Yazi +# Based on https://github.com/sainnhe/gruvbox-material + +[manager] +cwd = { fg = "#d8a657" } # yellow + +# Hovered +hovered = { fg = "#282828", bg = "#a9b665" } # green background +preview_hovered = { underline = true } + +# Find +find_keyword = { fg = "#282828", bg = "#d8a657" } # yellow +find_position = { fg = "#282828", bg = "#7daea3" } # aqua + +# Marker +marker_copied = { fg = "#a9b665", bg = "#a9b665" } # green +marker_cut = { fg = "#ea6962", bg = "#ea6962" } # red +marker_marked = { fg = "#7daea3", bg = "#7daea3" } # aqua +marker_selected = { fg = "#d8a657", bg = "#d8a657" } # yellow + +# Tab +tab_active = { fg = "#282828", bg = "#a9b665" } # green +tab_inactive = { fg = "#d4be98", bg = "#3c3836" } # fg on bg1 +tab_width = 1 + +# Count +count_copied = { fg = "#282828", bg = "#a9b665" } # green +count_cut = { fg = "#282828", bg = "#ea6962" } # red +count_selected = { fg = "#282828", bg = "#7daea3" } # aqua + +# Border +border_symbol = "│" +border_style = { fg = "#504945" } # bg2 + +# Syntect theme for preview +syntect_theme = "~/.config/yazi/Gruvbox-Material-Dark.tmTheme" + +[status] +separator_open = "" +separator_close = "" +separator_style = { fg = "#504945", bg = "#504945" } # bg2 + +# Mode +mode_normal = { fg = "#282828", bg = "#7daea3", bold = true } # aqua +mode_select = { fg = "#282828", bg = "#d8a657", bold = true } # yellow +mode_unset = { fg = "#282828", bg = "#ea6962", bold = true } # red + +# Progress +progress_label = { fg = "#d4be98", bold = true } # fg +progress_normal = { fg = "#7daea3", bg = "#3c3836" } # aqua on bg1 +progress_error = { fg = "#ea6962", bg = "#3c3836" } # red on bg1 + +# Permissions +permissions_t = { fg = "#a9b665" } # green +permissions_r = { fg = "#d8a657" } # yellow +permissions_w = { fg = "#ea6962" } # red +permissions_x = { fg = "#7daea3" } # aqua +permissions_s = { fg = "#504945" } # bg2 + +[input] +border = { fg = "#7daea3" } # aqua +title = { fg = "#d4be98" } # fg +value = { fg = "#d4be98" } # fg +selected = { reversed = true } + +[select] +border = { fg = "#7daea3" } # aqua +active = { fg = "#d8a657" } # yellow +inactive = { fg = "#7c6f64" } # bg3 + +[completion] +border = { fg = "#7daea3" } # aqua diff --git a/yazi/.config/yazi/themes/rose.toml b/yazi/.config/yazi/themes/rose.toml index 92abd8f..6677c0e 100644 --- a/yazi/.config/yazi/themes/rose.toml +++ b/yazi/.config/yazi/themes/rose.toml @@ -1,650 +1,72 @@ -[icon] -files = [ - { name = ".babelrc", text = "", fg = "#f6c177" }, - { name = ".bash_profile", text = "", fg = "#f6c177" }, - { name = ".bashrc", text = "", fg = "#f6c177" }, - { name = ".clang-format", text = "", fg = "#6e6a86" }, - { name = ".clang-tidy", text = "", fg = "#6e6a86" }, - { name = ".codespellrc", text = "󰓆", fg = "#f6c177" }, - { name = ".condarc", text = "", fg = "#f6c177" }, - { name = ".dockerignore", text = "󰡨", fg = "#3e8fb0" }, - { name = ".ds_store", text = "", fg = "#2a283e" }, - { name = ".editorconfig", text = "", fg = "#e0def4" }, - { name = ".env", text = "", fg = "#f6c177" }, - { name = ".eslintignore", text = "", fg = "#3e8fb0" }, - { name = ".eslintrc", text = "", fg = "#3e8fb0" }, - { name = ".git-blame-ignore-revs", text = "", fg = "#eb6f92" }, - { name = ".gitattributes", text = "", fg = "#eb6f92" }, - { name = ".gitconfig", text = "", fg = "#eb6f92" }, - { name = ".gitignore", text = "", fg = "#eb6f92" }, - { name = ".gitlab-ci.yml", text = "", fg = "#eb6f92" }, - { name = ".gitmodules", text = "", fg = "#eb6f92" }, - { name = ".gtkrc-2.0", text = "", fg = "#e0def4" }, - { name = ".gvimrc", text = "", fg = "#f6c177" }, - { name = ".justfile", text = "", fg = "#e0def4" }, - { name = ".luacheckrc", text = "", fg = "#3e8fb0" }, - { name = ".luaurc", text = "", fg = "#3e8fb0" }, - { name = ".mailmap", text = "󰊢", fg = "#eb6f92" }, - { name = ".nanorc", text = "", fg = "#3e8fb0" }, - { name = ".npmignore", text = "", fg = "#eb6f92" }, - { name = ".npmrc", text = "", fg = "#eb6f92" }, - { name = ".nuxtrc", text = "󱄆", fg = "#f6c177" }, - { name = ".nvmrc", text = "", fg = "#f6c177" }, - { name = ".pre-commit-config.yaml", text = "󰛢", fg = "#f6c177" }, - { name = ".prettierignore", text = "", fg = "#3e8fb0" }, - { name = ".prettierrc", text = "", fg = "#3e8fb0" }, - { name = ".prettierrc.cjs", text = "", fg = "#3e8fb0" }, - { name = ".prettierrc.js", text = "", fg = "#3e8fb0" }, - { name = ".prettierrc.json", text = "", fg = "#3e8fb0" }, - { name = ".prettierrc.json5", text = "", fg = "#3e8fb0" }, - { name = ".prettierrc.mjs", text = "", fg = "#3e8fb0" }, - { name = ".prettierrc.toml", text = "", fg = "#3e8fb0" }, - { name = ".prettierrc.yaml", text = "", fg = "#3e8fb0" }, - { name = ".prettierrc.yml", text = "", fg = "#3e8fb0" }, - { name = ".pylintrc", text = "", fg = "#e0def4" }, - { name = ".settings.json", text = "", fg = "#3e8fb0" }, - { name = ".SRCINFO", text = "󰣇", fg = "#3e8fb0" }, - { name = ".vimrc", text = "", fg = "#f6c177" }, - { name = ".Xauthority", text = "", fg = "#eb6f92" }, - { name = ".xinitrc", text = "", fg = "#eb6f92" }, - { name = ".Xresources", text = "", fg = "#eb6f92" }, - { name = ".xsession", text = "", fg = "#eb6f92" }, - { name = ".zprofile", text = "", fg = "#f6c177" }, - { name = ".zshenv", text = "", fg = "#f6c177" }, - { name = ".zshrc", text = "", fg = "#f6c177" }, - { name = "_gvimrc", text = "", fg = "#f6c177" }, - { name = "_vimrc", text = "", fg = "#f6c177" }, - { name = "AUTHORS", text = "", fg = "#3e8fb0" }, - { name = "AUTHORS.txt", text = "", fg = "#3e8fb0" }, - { name = "brewfile", text = "", fg = "#eb6f92" }, - { name = "bspwmrc", text = "", fg = "#232136" }, - { name = "build", text = "", fg = "#f6c177" }, - { name = "build.gradle", text = "", fg = "#3e8fb0" }, - { name = "build.zig.zon", text = "", fg = "#f6c177" }, - { name = "bun.lockb", text = "", fg = "#e0def4" }, - { name = "cantorrc", text = "", fg = "#3e8fb0" }, - { name = "checkhealth", text = "󰓙", fg = "#3e8fb0" }, - { name = "cmakelists.txt", text = "", fg = "#e0def4" }, - { name = "code_of_conduct", text = "", fg = "#eb6f92" }, - { name = "code_of_conduct.md", text = "", fg = "#eb6f92" }, - { name = "commit_editmsg", text = "", fg = "#eb6f92" }, - { name = "commitlint.config.js", text = "󰜘", fg = "#3e8fb0" }, - { name = "commitlint.config.ts", text = "󰜘", fg = "#3e8fb0" }, - { name = "compose.yaml", text = "󰡨", fg = "#3e8fb0" }, - { name = "compose.yml", text = "󰡨", fg = "#3e8fb0" }, - { name = "config", text = "", fg = "#e0def4" }, - { name = "containerfile", text = "󰡨", fg = "#3e8fb0" }, - { name = "copying", text = "", fg = "#f6c177" }, - { name = "copying.lesser", text = "", fg = "#f6c177" }, - { name = "Directory.Build.props", text = "", fg = "#3e8fb0" }, - { name = "Directory.Build.targets", text = "", fg = "#3e8fb0" }, - { name = "Directory.Packages.props", text = "", fg = "#3e8fb0" }, - { name = "docker-compose.yaml", text = "󰡨", fg = "#3e8fb0" }, - { name = "docker-compose.yml", text = "󰡨", fg = "#3e8fb0" }, - { name = "dockerfile", text = "󰡨", fg = "#3e8fb0" }, - { name = "eslint.config.cjs", text = "", fg = "#3e8fb0" }, - { name = "eslint.config.js", text = "", fg = "#3e8fb0" }, - { name = "eslint.config.mjs", text = "", fg = "#3e8fb0" }, - { name = "eslint.config.ts", text = "", fg = "#3e8fb0" }, - { name = "ext_typoscript_setup.txt", text = "", fg = "#f6c177" }, - { name = "favicon.ico", text = "", fg = "#f6c177" }, - { name = "fp-info-cache", text = "", fg = "#e0def4" }, - { name = "fp-lib-table", text = "", fg = "#e0def4" }, - { name = "FreeCAD.conf", text = "", fg = "#eb6f92" }, - { name = "Gemfile", text = "", fg = "#eb6f92" }, - { name = "gnumakefile", text = "", fg = "#e0def4" }, - { name = "go.mod", text = "", fg = "#3e8fb0" }, - { name = "go.sum", text = "", fg = "#3e8fb0" }, - { name = "go.work", text = "", fg = "#3e8fb0" }, - { name = "gradle-wrapper.properties", text = "", fg = "#3e8fb0" }, - { name = "gradle.properties", text = "", fg = "#3e8fb0" }, - { name = "gradlew", text = "", fg = "#3e8fb0" }, - { name = "groovy", text = "", fg = "#6e6a86" }, - { name = "gruntfile.babel.js", text = "", fg = "#f6c177" }, - { name = "gruntfile.coffee", text = "", fg = "#f6c177" }, - { name = "gruntfile.js", text = "", fg = "#f6c177" }, - { name = "gruntfile.ts", text = "", fg = "#f6c177" }, - { name = "gtkrc", text = "", fg = "#e0def4" }, - { name = "gulpfile.babel.js", text = "", fg = "#eb6f92" }, - { name = "gulpfile.coffee", text = "", fg = "#eb6f92" }, - { name = "gulpfile.js", text = "", fg = "#eb6f92" }, - { name = "gulpfile.ts", text = "", fg = "#eb6f92" }, - { name = "hypridle.conf", text = "", fg = "#3e8fb0" }, - { name = "hyprland.conf", text = "", fg = "#3e8fb0" }, - { name = "hyprlock.conf", text = "", fg = "#3e8fb0" }, - { name = "hyprpaper.conf", text = "", fg = "#3e8fb0" }, - { name = "i18n.config.js", text = "󰗊", fg = "#3e8fb0" }, - { name = "i18n.config.ts", text = "󰗊", fg = "#3e8fb0" }, - { name = "i3blocks.conf", text = "", fg = "#e0def4" }, - { name = "i3status.conf", text = "", fg = "#e0def4" }, - { name = "index.theme", text = "", fg = "#f6c177" }, - { name = "ionic.config.json", text = "", fg = "#3e8fb0" }, - { name = "justfile", text = "", fg = "#e0def4" }, - { name = "kalgebrarc", text = "", fg = "#3e8fb0" }, - { name = "kdeglobals", text = "", fg = "#3e8fb0" }, - { name = "kdenlive-layoutsrc", text = "", fg = "#3e8fb0" }, - { name = "kdenliverc", text = "", fg = "#3e8fb0" }, - { name = "kritadisplayrc", text = "", fg = "#3e8fb0" }, - { name = "kritarc", text = "", fg = "#3e8fb0" }, - { name = "license", text = "", fg = "#f6c177" }, - { name = "license.md", text = "", fg = "#f6c177" }, - { name = "lxde-rc.xml", text = "", fg = "#e0def4" }, - { name = "lxqt.conf", text = "", fg = "#3e8fb0" }, - { name = "makefile", text = "", fg = "#e0def4" }, - { name = "mix.lock", text = "", fg = "#c4a7e7" }, - { name = "mpv.conf", text = "", fg = "#393552" }, - { name = "node_modules", text = "", fg = "#eb6f92" }, - { name = "nuxt.config.cjs", text = "󱄆", fg = "#f6c177" }, - { name = "nuxt.config.js", text = "󱄆", fg = "#f6c177" }, - { name = "nuxt.config.mjs", text = "󱄆", fg = "#f6c177" }, - { name = "nuxt.config.ts", text = "󱄆", fg = "#f6c177" }, - { name = "package-lock.json", text = "", fg = "#eb6f92" }, - { name = "package.json", text = "", fg = "#eb6f92" }, - { name = "PKGBUILD", text = "", fg = "#3e8fb0" }, - { name = "platformio.ini", text = "", fg = "#f6c177" }, - { name = "pom.xml", text = "", fg = "#eb6f92" }, - { name = "prettier.config.cjs", text = "", fg = "#3e8fb0" }, - { name = "prettier.config.js", text = "", fg = "#3e8fb0" }, - { name = "prettier.config.mjs", text = "", fg = "#3e8fb0" }, - { name = "prettier.config.ts", text = "", fg = "#3e8fb0" }, - { name = "procfile", text = "", fg = "#c4a7e7" }, - { name = "PrusaSlicer.ini", text = "", fg = "#f6c177" }, - { name = "PrusaSlicerGcodeViewer.ini", text = "", fg = "#f6c177" }, - { name = "py.typed", text = "", fg = "#f6c177" }, - { name = "QtProject.conf", text = "", fg = "#f6c177" }, - { name = "rakefile", text = "", fg = "#eb6f92" }, - { name = "readme", text = "󰂺", fg = "#e0def4" }, - { name = "readme.md", text = "󰂺", fg = "#e0def4" }, - { name = "rmd", text = "", fg = "#3e8fb0" }, - { name = "robots.txt", text = "󰚩", fg = "#6e6a86" }, - { name = "security", text = "󰒃", fg = "#e0def4" }, - { name = "security.md", text = "󰒃", fg = "#e0def4" }, - { name = "settings.gradle", text = "", fg = "#3e8fb0" }, - { name = "svelte.config.js", text = "", fg = "#eb6f92" }, - { name = "sxhkdrc", text = "", fg = "#232136" }, - { name = "sym-lib-table", text = "", fg = "#e0def4" }, - { name = "tailwind.config.js", text = "󱏿", fg = "#3e8fb0" }, - { name = "tailwind.config.mjs", text = "󱏿", fg = "#3e8fb0" }, - { name = "tailwind.config.ts", text = "󱏿", fg = "#3e8fb0" }, - { name = "tmux.conf", text = "", fg = "#f6c177" }, - { name = "tmux.conf.local", text = "", fg = "#f6c177" }, - { name = "tsconfig.json", text = "", fg = "#3e8fb0" }, - { name = "unlicense", text = "", fg = "#f6c177" }, - { name = "vagrantfile", text = "", fg = "#3e8fb0" }, - { name = "vercel.json", text = "", fg = "#e0def4" }, - { name = "vlcrc", text = "󰕼", fg = "#f6c177" }, - { name = "webpack", text = "󰜫", fg = "#3e8fb0" }, - { name = "weston.ini", text = "", fg = "#f6c177" }, - { name = "workspace", text = "", fg = "#f6c177" }, - { name = "xmobarrc", text = "", fg = "#eb6f92" }, - { name = "xmobarrc.hs", text = "", fg = "#eb6f92" }, - { name = "xmonad.hs", text = "", fg = "#eb6f92" }, - { name = "xorg.conf", text = "", fg = "#eb6f92" }, - { name = "xsettingsd.conf", text = "", fg = "#eb6f92" }, -] -exts = [ - { name = "3gp", text = "", fg = "#f6c177" }, - { name = "3mf", text = "󰆧", fg = "#e0def4" }, - { name = "7z", text = "", fg = "#f6c177" }, - { name = "a", text = "", fg = "#e0def4" }, - { name = "aac", text = "", fg = "#3e8fb0" }, - { name = "adb", text = "", fg = "#3e8fb0" }, - { name = "ads", text = "", fg = "#e0def4" }, - { name = "ai", text = "", fg = "#f6c177" }, - { name = "aif", text = "", fg = "#3e8fb0" }, - { name = "aiff", text = "", fg = "#3e8fb0" }, - { name = "android", text = "", fg = "#f6c177" }, - { name = "ape", text = "", fg = "#3e8fb0" }, - { name = "apk", text = "", fg = "#f6c177" }, - { name = "apl", text = "", fg = "#f6c177" }, - { name = "app", text = "", fg = "#eb6f92" }, - { name = "applescript", text = "", fg = "#e0def4" }, - { name = "asc", text = "󰦝", fg = "#6e6a86" }, - { name = "asm", text = "", fg = "#3e8fb0" }, - { name = "ass", text = "󰨖", fg = "#f6c177" }, - { name = "astro", text = "", fg = "#eb6f92" }, - { name = "avif", text = "", fg = "#c4a7e7" }, - { name = "awk", text = "", fg = "#232136" }, - { name = "azcli", text = "", fg = "#3e8fb0" }, - { name = "bak", text = "󰁯", fg = "#e0def4" }, - { name = "bash", text = "", fg = "#f6c177" }, - { name = "bat", text = "", fg = "#f6c177" }, - { name = "bazel", text = "", fg = "#f6c177" }, - { name = "bib", text = "󱉟", fg = "#f6c177" }, - { name = "bicep", text = "", fg = "#3e8fb0" }, - { name = "bicepparam", text = "", fg = "#c4a7e7" }, - { name = "bin", text = "", fg = "#eb6f92" }, - { name = "blade.php", text = "", fg = "#eb6f92" }, - { name = "blend", text = "󰂫", fg = "#f6c177" }, - { name = "blp", text = "󰺾", fg = "#3e8fb0" }, - { name = "bmp", text = "", fg = "#c4a7e7" }, - { name = "bqn", text = "", fg = "#f6c177" }, - { name = "brep", text = "󰻫", fg = "#9ccfd8" }, - { name = "bz", text = "", fg = "#f6c177" }, - { name = "bz2", text = "", fg = "#f6c177" }, - { name = "bz3", text = "", fg = "#f6c177" }, - { name = "bzl", text = "", fg = "#f6c177" }, - { name = "c", text = "", fg = "#3e8fb0" }, - { name = "c++", text = "", fg = "#eb6f92" }, - { name = "cache", text = "", fg = "#e0def4" }, - { name = "cast", text = "", fg = "#f6c177" }, - { name = "cbl", text = "", fg = "#3e8fb0" }, - { name = "cc", text = "", fg = "#eb6f92" }, - { name = "ccm", text = "", fg = "#eb6f92" }, - { name = "cfg", text = "", fg = "#e0def4" }, - { name = "cjs", text = "", fg = "#f6c177" }, - { name = "clj", text = "", fg = "#f6c177" }, - { name = "cljc", text = "", fg = "#f6c177" }, - { name = "cljd", text = "", fg = "#3e8fb0" }, - { name = "cljs", text = "", fg = "#3e8fb0" }, - { name = "cmake", text = "", fg = "#e0def4" }, - { name = "cob", text = "", fg = "#3e8fb0" }, - { name = "cobol", text = "", fg = "#3e8fb0" }, - { name = "coffee", text = "", fg = "#f6c177" }, - { name = "conda", text = "", fg = "#f6c177" }, - { name = "conf", text = "", fg = "#e0def4" }, - { name = "config.ru", text = "", fg = "#eb6f92" }, - { name = "cow", text = "󰆚", fg = "#f6c177" }, - { name = "cp", text = "", fg = "#3e8fb0" }, - { name = "cpp", text = "", fg = "#3e8fb0" }, - { name = "cppm", text = "", fg = "#3e8fb0" }, - { name = "cpy", text = "", fg = "#3e8fb0" }, - { name = "cr", text = "", fg = "#e0def4" }, - { name = "crdownload", text = "", fg = "#3e8fb0" }, - { name = "cs", text = "󰌛", fg = "#f6c177" }, - { name = "csh", text = "", fg = "#232136" }, - { name = "cshtml", text = "󱦗", fg = "#3e8fb0" }, - { name = "cson", text = "", fg = "#f6c177" }, - { name = "csproj", text = "󰪮", fg = "#3e8fb0" }, - { name = "css", text = "", fg = "#3e8fb0" }, - { name = "csv", text = "", fg = "#f6c177" }, - { name = "cts", text = "", fg = "#3e8fb0" }, - { name = "cu", text = "", fg = "#f6c177" }, - { name = "cue", text = "󰲹", fg = "#ea9a97" }, - { name = "cuh", text = "", fg = "#c4a7e7" }, - { name = "cxx", text = "", fg = "#3e8fb0" }, - { name = "cxxm", text = "", fg = "#3e8fb0" }, - { name = "d", text = "", fg = "#eb6f92" }, - { name = "d.ts", text = "", fg = "#f6c177" }, - { name = "dart", text = "", fg = "#3e8fb0" }, - { name = "db", text = "", fg = "#e0def4" }, - { name = "dconf", text = "", fg = "#e0def4" }, - { name = "desktop", text = "", fg = "#c4a7e7" }, - { name = "diff", text = "", fg = "#232136" }, - { name = "dll", text = "", fg = "#ea9a97" }, - { name = "doc", text = "󰈬", fg = "#3e8fb0" }, - { name = "Dockerfile", text = "󰡨", fg = "#3e8fb0" }, - { name = "docx", text = "󰈬", fg = "#3e8fb0" }, - { name = "dot", text = "󱁉", fg = "#3e8fb0" }, - { name = "download", text = "", fg = "#3e8fb0" }, - { name = "drl", text = "", fg = "#ea9a97" }, - { name = "dropbox", text = "", fg = "#3e8fb0" }, - { name = "dump", text = "", fg = "#e0def4" }, - { name = "dwg", text = "󰻫", fg = "#9ccfd8" }, - { name = "dxf", text = "󰻫", fg = "#9ccfd8" }, - { name = "ebook", text = "", fg = "#f6c177" }, - { name = "ebuild", text = "", fg = "#393552" }, - { name = "edn", text = "", fg = "#3e8fb0" }, - { name = "eex", text = "", fg = "#c4a7e7" }, - { name = "ejs", text = "", fg = "#f6c177" }, - { name = "el", text = "", fg = "#c4a7e7" }, - { name = "elc", text = "", fg = "#c4a7e7" }, - { name = "elf", text = "", fg = "#eb6f92" }, - { name = "elm", text = "", fg = "#3e8fb0" }, - { name = "eln", text = "", fg = "#c4a7e7" }, - { name = "env", text = "", fg = "#f6c177" }, - { name = "eot", text = "", fg = "#e0def4" }, - { name = "epp", text = "", fg = "#f6c177" }, - { name = "epub", text = "", fg = "#f6c177" }, - { name = "erb", text = "", fg = "#eb6f92" }, - { name = "erl", text = "", fg = "#eb6f92" }, - { name = "ex", text = "", fg = "#c4a7e7" }, - { name = "exe", text = "", fg = "#eb6f92" }, - { name = "exs", text = "", fg = "#c4a7e7" }, - { name = "f#", text = "", fg = "#3e8fb0" }, - { name = "f3d", text = "󰻫", fg = "#9ccfd8" }, - { name = "f90", text = "󱈚", fg = "#c4a7e7" }, - { name = "fbx", text = "󰆧", fg = "#e0def4" }, - { name = "fcbak", text = "", fg = "#eb6f92" }, - { name = "fcmacro", text = "", fg = "#eb6f92" }, - { name = "fcmat", text = "", fg = "#eb6f92" }, - { name = "fcparam", text = "", fg = "#eb6f92" }, - { name = "fcscript", text = "", fg = "#eb6f92" }, - { name = "fcstd", text = "", fg = "#eb6f92" }, - { name = "fcstd1", text = "", fg = "#eb6f92" }, - { name = "fctb", text = "", fg = "#eb6f92" }, - { name = "fctl", text = "", fg = "#eb6f92" }, - { name = "fdmdownload", text = "", fg = "#3e8fb0" }, - { name = "feature", text = "", fg = "#f6c177" }, - { name = "fish", text = "", fg = "#232136" }, - { name = "flac", text = "", fg = "#3e8fb0" }, - { name = "flc", text = "", fg = "#e0def4" }, - { name = "flf", text = "", fg = "#e0def4" }, - { name = "fnl", text = "", fg = "#e0def4" }, - { name = "fodg", text = "", fg = "#f6c177" }, - { name = "fodp", text = "", fg = "#f6c177" }, - { name = "fods", text = "", fg = "#f6c177" }, - { name = "fodt", text = "", fg = "#3e8fb0" }, - { name = "fs", text = "", fg = "#3e8fb0" }, - { name = "fsi", text = "", fg = "#3e8fb0" }, - { name = "fsscript", text = "", fg = "#3e8fb0" }, - { name = "fsx", text = "", fg = "#3e8fb0" }, - { name = "gcode", text = "󰐫", fg = "#3e8fb0" }, - { name = "gd", text = "", fg = "#e0def4" }, - { name = "gemspec", text = "", fg = "#eb6f92" }, - { name = "gif", text = "", fg = "#c4a7e7" }, - { name = "git", text = "", fg = "#eb6f92" }, - { name = "glb", text = "", fg = "#f6c177" }, - { name = "gleam", text = "", fg = "#c4a7e7" }, - { name = "gnumakefile", text = "", fg = "#e0def4" }, - { name = "go", text = "", fg = "#3e8fb0" }, - { name = "godot", text = "", fg = "#e0def4" }, - { name = "gpr", text = "", fg = "#3e8fb0" }, - { name = "gql", text = "", fg = "#eb6f92" }, - { name = "gradle", text = "", fg = "#3e8fb0" }, - { name = "graphql", text = "", fg = "#eb6f92" }, - { name = "gresource", text = "", fg = "#e0def4" }, - { name = "gv", text = "󱁉", fg = "#3e8fb0" }, - { name = "gz", text = "", fg = "#f6c177" }, - { name = "h", text = "", fg = "#c4a7e7" }, - { name = "haml", text = "", fg = "#e0def4" }, - { name = "hbs", text = "", fg = "#f6c177" }, - { name = "heex", text = "", fg = "#c4a7e7" }, - { name = "hex", text = "", fg = "#3e8fb0" }, - { name = "hh", text = "", fg = "#c4a7e7" }, - { name = "hpp", text = "", fg = "#c4a7e7" }, - { name = "hrl", text = "", fg = "#eb6f92" }, - { name = "hs", text = "", fg = "#c4a7e7" }, - { name = "htm", text = "", fg = "#eb6f92" }, - { name = "html", text = "", fg = "#eb6f92" }, - { name = "http", text = "", fg = "#3e8fb0" }, - { name = "huff", text = "󰡘", fg = "#3e8fb0" }, - { name = "hurl", text = "", fg = "#eb6f92" }, - { name = "hx", text = "", fg = "#f6c177" }, - { name = "hxx", text = "", fg = "#c4a7e7" }, - { name = "ical", text = "", fg = "#3e8fb0" }, - { name = "icalendar", text = "", fg = "#3e8fb0" }, - { name = "ico", text = "", fg = "#f6c177" }, - { name = "ics", text = "", fg = "#3e8fb0" }, - { name = "ifb", text = "", fg = "#3e8fb0" }, - { name = "ifc", text = "󰻫", fg = "#9ccfd8" }, - { name = "ige", text = "󰻫", fg = "#9ccfd8" }, - { name = "iges", text = "󰻫", fg = "#9ccfd8" }, - { name = "igs", text = "󰻫", fg = "#9ccfd8" }, - { name = "image", text = "", fg = "#e0def4" }, - { name = "img", text = "", fg = "#e0def4" }, - { name = "import", text = "", fg = "#e0def4" }, - { name = "info", text = "", fg = "#9ccfd8" }, - { name = "ini", text = "", fg = "#e0def4" }, - { name = "ino", text = "", fg = "#3e8fb0" }, - { name = "ipynb", text = "", fg = "#f6c177" }, - { name = "iso", text = "", fg = "#e0def4" }, - { name = "ixx", text = "", fg = "#3e8fb0" }, - { name = "java", text = "", fg = "#eb6f92" }, - { name = "jl", text = "", fg = "#c4a7e7" }, - { name = "jpeg", text = "", fg = "#c4a7e7" }, - { name = "jpg", text = "", fg = "#c4a7e7" }, - { name = "js", text = "", fg = "#f6c177" }, - { name = "json", text = "", fg = "#f6c177" }, - { name = "json5", text = "", fg = "#f6c177" }, - { name = "jsonc", text = "", fg = "#f6c177" }, - { name = "jsx", text = "", fg = "#3e8fb0" }, - { name = "jwmrc", text = "", fg = "#3e8fb0" }, - { name = "jxl", text = "", fg = "#c4a7e7" }, - { name = "kbx", text = "󰯄", fg = "#e0def4" }, - { name = "kdb", text = "", fg = "#f6c177" }, - { name = "kdbx", text = "", fg = "#f6c177" }, - { name = "kdenlive", text = "", fg = "#3e8fb0" }, - { name = "kdenlivetitle", text = "", fg = "#3e8fb0" }, - { name = "kicad_dru", text = "", fg = "#e0def4" }, - { name = "kicad_mod", text = "", fg = "#e0def4" }, - { name = "kicad_pcb", text = "", fg = "#e0def4" }, - { name = "kicad_prl", text = "", fg = "#e0def4" }, - { name = "kicad_pro", text = "", fg = "#e0def4" }, - { name = "kicad_sch", text = "", fg = "#e0def4" }, - { name = "kicad_sym", text = "", fg = "#e0def4" }, - { name = "kicad_wks", text = "", fg = "#e0def4" }, - { name = "ko", text = "", fg = "#e0def4" }, - { name = "kpp", text = "", fg = "#3e8fb0" }, - { name = "kra", text = "", fg = "#3e8fb0" }, - { name = "krz", text = "", fg = "#3e8fb0" }, - { name = "ksh", text = "", fg = "#e0def4" }, - { name = "kt", text = "", fg = "#3e8fb0" }, - { name = "kts", text = "", fg = "#3e8fb0" }, - { name = "lck", text = "", fg = "#e0def4" }, - { name = "leex", text = "", fg = "#c4a7e7" }, - { name = "less", text = "", fg = "#c4a7e7" }, - { name = "lff", text = "", fg = "#e0def4" }, - { name = "lhs", text = "", fg = "#c4a7e7" }, - { name = "lib", text = "", fg = "#ea9a97" }, - { name = "license", text = "", fg = "#f6c177" }, - { name = "liquid", text = "", fg = "#f6c177" }, - { name = "lock", text = "", fg = "#e0def4" }, - { name = "log", text = "󰌱", fg = "#e0def4" }, - { name = "lrc", text = "󰨖", fg = "#f6c177" }, - { name = "lua", text = "", fg = "#3e8fb0" }, - { name = "luac", text = "", fg = "#3e8fb0" }, - { name = "luau", text = "", fg = "#3e8fb0" }, - { name = "m", text = "", fg = "#3e8fb0" }, - { name = "m3u", text = "󰲹", fg = "#ea9a97" }, - { name = "m3u8", text = "󰲹", fg = "#ea9a97" }, - { name = "m4a", text = "", fg = "#3e8fb0" }, - { name = "m4v", text = "", fg = "#f6c177" }, - { name = "magnet", text = "", fg = "#eb6f92" }, - { name = "makefile", text = "", fg = "#e0def4" }, - { name = "markdown", text = "", fg = "#e0def4" }, - { name = "material", text = "", fg = "#eb6f92" }, - { name = "md", text = "", fg = "#e0def4" }, - { name = "md5", text = "󰕥", fg = "#908caa" }, - { name = "mdx", text = "", fg = "#3e8fb0" }, - { name = "mint", text = "󰌪", fg = "#3e8fb0" }, - { name = "mjs", text = "", fg = "#f6c177" }, - { name = "mk", text = "", fg = "#e0def4" }, - { name = "mkv", text = "", fg = "#f6c177" }, - { name = "ml", text = "", fg = "#f6c177" }, - { name = "mli", text = "", fg = "#f6c177" }, - { name = "mm", text = "", fg = "#3e8fb0" }, - { name = "mo", text = "", fg = "#3e8fb0" }, - { name = "mobi", text = "", fg = "#f6c177" }, - { name = "mojo", text = "", fg = "#eb6f92" }, - { name = "mov", text = "", fg = "#f6c177" }, - { name = "mp3", text = "", fg = "#3e8fb0" }, - { name = "mp4", text = "", fg = "#f6c177" }, - { name = "mpp", text = "", fg = "#3e8fb0" }, - { name = "msf", text = "", fg = "#3e8fb0" }, - { name = "mts", text = "", fg = "#3e8fb0" }, - { name = "mustache", text = "", fg = "#f6c177" }, - { name = "nfo", text = "", fg = "#9ccfd8" }, - { name = "nim", text = "", fg = "#f6c177" }, - { name = "nix", text = "", fg = "#3e8fb0" }, - { name = "norg", text = "", fg = "#3e8fb0" }, - { name = "nswag", text = "", fg = "#f6c177" }, - { name = "nu", text = "", fg = "#f6c177" }, - { name = "o", text = "", fg = "#eb6f92" }, - { name = "obj", text = "󰆧", fg = "#e0def4" }, - { name = "odf", text = "", fg = "#eb6f92" }, - { name = "odg", text = "", fg = "#f6c177" }, - { name = "odin", text = "󰟢", fg = "#3e8fb0" }, - { name = "odp", text = "", fg = "#f6c177" }, - { name = "ods", text = "", fg = "#f6c177" }, - { name = "odt", text = "", fg = "#3e8fb0" }, - { name = "oga", text = "", fg = "#3e8fb0" }, - { name = "ogg", text = "", fg = "#3e8fb0" }, - { name = "ogv", text = "", fg = "#f6c177" }, - { name = "ogx", text = "", fg = "#f6c177" }, - { name = "opus", text = "", fg = "#3e8fb0" }, - { name = "org", text = "", fg = "#9ccfd8" }, - { name = "otf", text = "", fg = "#e0def4" }, - { name = "out", text = "", fg = "#eb6f92" }, - { name = "part", text = "", fg = "#3e8fb0" }, - { name = "patch", text = "", fg = "#232136" }, - { name = "pck", text = "", fg = "#e0def4" }, - { name = "pcm", text = "", fg = "#3e8fb0" }, - { name = "pdf", text = "", fg = "#eb6f92" }, - { name = "php", text = "", fg = "#c4a7e7" }, - { name = "pl", text = "", fg = "#3e8fb0" }, - { name = "pls", text = "󰲹", fg = "#ea9a97" }, - { name = "ply", text = "󰆧", fg = "#e0def4" }, - { name = "pm", text = "", fg = "#3e8fb0" }, - { name = "png", text = "", fg = "#c4a7e7" }, - { name = "po", text = "", fg = "#3e8fb0" }, - { name = "pot", text = "", fg = "#3e8fb0" }, - { name = "pp", text = "", fg = "#f6c177" }, - { name = "ppt", text = "󰈧", fg = "#eb6f92" }, - { name = "pptx", text = "󰈧", fg = "#eb6f92" }, - { name = "prisma", text = "", fg = "#3e8fb0" }, - { name = "pro", text = "", fg = "#f6c177" }, - { name = "ps1", text = "󰨊", fg = "#3e8fb0" }, - { name = "psb", text = "", fg = "#3e8fb0" }, - { name = "psd", text = "", fg = "#3e8fb0" }, - { name = "psd1", text = "󰨊", fg = "#3e8fb0" }, - { name = "psm1", text = "󰨊", fg = "#3e8fb0" }, - { name = "pub", text = "󰷖", fg = "#f6c177" }, - { name = "pxd", text = "", fg = "#3e8fb0" }, - { name = "pxi", text = "", fg = "#3e8fb0" }, - { name = "py", text = "", fg = "#f6c177" }, - { name = "pyc", text = "", fg = "#f6c177" }, - { name = "pyd", text = "", fg = "#f6c177" }, - { name = "pyi", text = "", fg = "#f6c177" }, - { name = "pyo", text = "", fg = "#f6c177" }, - { name = "pyw", text = "", fg = "#3e8fb0" }, - { name = "pyx", text = "", fg = "#3e8fb0" }, - { name = "qm", text = "", fg = "#3e8fb0" }, - { name = "qml", text = "", fg = "#f6c177" }, - { name = "qrc", text = "", fg = "#f6c177" }, - { name = "qss", text = "", fg = "#f6c177" }, - { name = "query", text = "", fg = "#f6c177" }, - { name = "r", text = "󰟔", fg = "#3e8fb0" }, - { name = "R", text = "󰟔", fg = "#3e8fb0" }, - { name = "rake", text = "", fg = "#eb6f92" }, - { name = "rar", text = "", fg = "#f6c177" }, - { name = "razor", text = "󱦘", fg = "#3e8fb0" }, - { name = "rb", text = "", fg = "#eb6f92" }, - { name = "res", text = "", fg = "#eb6f92" }, - { name = "resi", text = "", fg = "#eb6f92" }, - { name = "rlib", text = "", fg = "#ea9a97" }, - { name = "rmd", text = "", fg = "#3e8fb0" }, - { name = "rproj", text = "󰗆", fg = "#f6c177" }, - { name = "rs", text = "", fg = "#ea9a97" }, - { name = "rss", text = "", fg = "#f6c177" }, - { name = "s", text = "", fg = "#3e8fb0" }, - { name = "sass", text = "", fg = "#eb6f92" }, - { name = "sbt", text = "", fg = "#eb6f92" }, - { name = "sc", text = "", fg = "#eb6f92" }, - { name = "scad", text = "", fg = "#f6c177" }, - { name = "scala", text = "", fg = "#eb6f92" }, - { name = "scm", text = "󰘧", fg = "#e0def4" }, - { name = "scss", text = "", fg = "#eb6f92" }, - { name = "sh", text = "", fg = "#e0def4" }, - { name = "sha1", text = "󰕥", fg = "#908caa" }, - { name = "sha224", text = "󰕥", fg = "#908caa" }, - { name = "sha256", text = "󰕥", fg = "#908caa" }, - { name = "sha384", text = "󰕥", fg = "#908caa" }, - { name = "sha512", text = "󰕥", fg = "#908caa" }, - { name = "sig", text = "󰘧", fg = "#f6c177" }, - { name = "signature", text = "󰘧", fg = "#f6c177" }, - { name = "skp", text = "󰻫", fg = "#9ccfd8" }, - { name = "sldasm", text = "󰻫", fg = "#9ccfd8" }, - { name = "sldprt", text = "󰻫", fg = "#9ccfd8" }, - { name = "slim", text = "", fg = "#eb6f92" }, - { name = "sln", text = "", fg = "#3e8fb0" }, - { name = "slnx", text = "", fg = "#3e8fb0" }, - { name = "slvs", text = "󰻫", fg = "#9ccfd8" }, - { name = "sml", text = "󰘧", fg = "#f6c177" }, - { name = "so", text = "", fg = "#e0def4" }, - { name = "sol", text = "", fg = "#3e8fb0" }, - { name = "spec.js", text = "", fg = "#f6c177" }, - { name = "spec.jsx", text = "", fg = "#3e8fb0" }, - { name = "spec.ts", text = "", fg = "#3e8fb0" }, - { name = "spec.tsx", text = "", fg = "#3e8fb0" }, - { name = "spx", text = "", fg = "#3e8fb0" }, - { name = "sql", text = "", fg = "#e0def4" }, - { name = "sqlite", text = "", fg = "#e0def4" }, - { name = "sqlite3", text = "", fg = "#e0def4" }, - { name = "srt", text = "󰨖", fg = "#f6c177" }, - { name = "ssa", text = "󰨖", fg = "#f6c177" }, - { name = "ste", text = "󰻫", fg = "#9ccfd8" }, - { name = "step", text = "󰻫", fg = "#9ccfd8" }, - { name = "stl", text = "󰆧", fg = "#e0def4" }, - { name = "stp", text = "󰻫", fg = "#9ccfd8" }, - { name = "strings", text = "", fg = "#3e8fb0" }, - { name = "styl", text = "", fg = "#f6c177" }, - { name = "sub", text = "󰨖", fg = "#f6c177" }, - { name = "sublime", text = "", fg = "#f6c177" }, - { name = "suo", text = "", fg = "#3e8fb0" }, - { name = "sv", text = "󰍛", fg = "#f6c177" }, - { name = "svelte", text = "", fg = "#eb6f92" }, - { name = "svg", text = "󰜡", fg = "#f6c177" }, - { name = "svh", text = "󰍛", fg = "#f6c177" }, - { name = "swift", text = "", fg = "#f6c177" }, - { name = "t", text = "", fg = "#3e8fb0" }, - { name = "tbc", text = "󰛓", fg = "#3e8fb0" }, - { name = "tcl", text = "󰛓", fg = "#3e8fb0" }, - { name = "templ", text = "", fg = "#f6c177" }, - { name = "terminal", text = "", fg = "#f6c177" }, - { name = "test.js", text = "", fg = "#f6c177" }, - { name = "test.jsx", text = "", fg = "#3e8fb0" }, - { name = "test.ts", text = "", fg = "#3e8fb0" }, - { name = "test.tsx", text = "", fg = "#3e8fb0" }, - { name = "tex", text = "", fg = "#f6c177" }, - { name = "tf", text = "", fg = "#3e8fb0" }, - { name = "tfvars", text = "", fg = "#3e8fb0" }, - { name = "tgz", text = "", fg = "#f6c177" }, - { name = "tmux", text = "", fg = "#f6c177" }, - { name = "toml", text = "", fg = "#eb6f92" }, - { name = "torrent", text = "", fg = "#3e8fb0" }, - { name = "tres", text = "", fg = "#e0def4" }, - { name = "ts", text = "", fg = "#3e8fb0" }, - { name = "tscn", text = "", fg = "#e0def4" }, - { name = "tsconfig", text = "", fg = "#f6c177" }, - { name = "tsx", text = "", fg = "#3e8fb0" }, - { name = "ttf", text = "", fg = "#e0def4" }, - { name = "twig", text = "", fg = "#f6c177" }, - { name = "txt", text = "󰈙", fg = "#f6c177" }, - { name = "txz", text = "", fg = "#f6c177" }, - { name = "typ", text = "", fg = "#3e8fb0" }, - { name = "typoscript", text = "", fg = "#f6c177" }, - { name = "ui", text = "", fg = "#3e8fb0" }, - { name = "v", text = "󰍛", fg = "#f6c177" }, - { name = "vala", text = "", fg = "#3e8fb0" }, - { name = "vh", text = "󰍛", fg = "#f6c177" }, - { name = "vhd", text = "󰍛", fg = "#f6c177" }, - { name = "vhdl", text = "󰍛", fg = "#f6c177" }, - { name = "vi", text = "", fg = "#f6c177" }, - { name = "vim", text = "", fg = "#f6c177" }, - { name = "vsh", text = "", fg = "#3e8fb0" }, - { name = "vsix", text = "", fg = "#3e8fb0" }, - { name = "vue", text = "", fg = "#f6c177" }, - { name = "wasm", text = "", fg = "#3e8fb0" }, - { name = "wav", text = "", fg = "#3e8fb0" }, - { name = "webm", text = "", fg = "#f6c177" }, - { name = "webmanifest", text = "", fg = "#f6c177" }, - { name = "webp", text = "", fg = "#c4a7e7" }, - { name = "webpack", text = "󰜫", fg = "#3e8fb0" }, - { name = "wma", text = "", fg = "#3e8fb0" }, - { name = "woff", text = "", fg = "#e0def4" }, - { name = "woff2", text = "", fg = "#e0def4" }, - { name = "wrl", text = "󰆧", fg = "#e0def4" }, - { name = "wrz", text = "󰆧", fg = "#e0def4" }, - { name = "wv", text = "", fg = "#3e8fb0" }, - { name = "wvc", text = "", fg = "#3e8fb0" }, - { name = "x", text = "", fg = "#3e8fb0" }, - { name = "xaml", text = "󰙳", fg = "#3e8fb0" }, - { name = "xcf", text = "", fg = "#232136" }, - { name = "xcplayground", text = "", fg = "#f6c177" }, - { name = "xcstrings", text = "", fg = "#3e8fb0" }, - { name = "xls", text = "󰈛", fg = "#3e8fb0" }, - { name = "xlsx", text = "󰈛", fg = "#3e8fb0" }, - { name = "xm", text = "", fg = "#3e8fb0" }, - { name = "xml", text = "󰗀", fg = "#f6c177" }, - { name = "xpi", text = "", fg = "#eb6f92" }, - { name = "xul", text = "", fg = "#f6c177" }, - { name = "xz", text = "", fg = "#f6c177" }, - { name = "yaml", text = "", fg = "#e0def4" }, - { name = "yml", text = "", fg = "#e0def4" }, - { name = "zig", text = "", fg = "#f6c177" }, - { name = "zip", text = "", fg = "#f6c177" }, - { name = "zsh", text = "", fg = "#f6c177" }, - { name = "zst", text = "", fg = "#f6c177" }, - { name = "🔥", text = "", fg = "#eb6f92" }, -] +# Gruvbox Material Dark theme for Yazi +# Based on https://github.com/sainnhe/gruvbox-material + +[manager] +cwd = { fg = "#d8a657" } # yellow + +# Hovered +hovered = { fg = "#282828", bg = "#a9b665" } # green background +preview_hovered = { underline = true } + +# Find +find_keyword = { fg = "#282828", bg = "#d8a657" } # yellow +find_position = { fg = "#282828", bg = "#7daea3" } # aqua + +# Marker +marker_copied = { fg = "#a9b665", bg = "#a9b665" } # green +marker_cut = { fg = "#ea6962", bg = "#ea6962" } # red +marker_marked = { fg = "#7daea3", bg = "#7daea3" } # aqua +marker_selected = { fg = "#d8a657", bg = "#d8a657" } # yellow + +# Tab +tab_active = { fg = "#282828", bg = "#a9b665" } # green +tab_inactive = { fg = "#d4be98", bg = "#3c3836" } # fg on bg1 +tab_width = 1 + +# Count +count_copied = { fg = "#282828", bg = "#a9b665" } # green +count_cut = { fg = "#282828", bg = "#ea6962" } # red +count_selected = { fg = "#282828", bg = "#7daea3" } # aqua + +# Border +border_symbol = "│" +border_style = { fg = "#504945" } # bg2 + +# Syntect theme for preview +syntect_theme = "~/.config/yazi/Gruvbox-Material-Dark.tmTheme" + +[status] +separator_open = "" +separator_close = "" +separator_style = { fg = "#504945", bg = "#504945" } # bg2 + +# Mode +mode_normal = { fg = "#282828", bg = "#7daea3", bold = true } # aqua +mode_select = { fg = "#282828", bg = "#d8a657", bold = true } # yellow +mode_unset = { fg = "#282828", bg = "#ea6962", bold = true } # red + +# Progress +progress_label = { fg = "#d4be98", bold = true } # fg +progress_normal = { fg = "#7daea3", bg = "#3c3836" } # aqua on bg1 +progress_error = { fg = "#ea6962", bg = "#3c3836" } # red on bg1 + +# Permissions +permissions_t = { fg = "#a9b665" } # green +permissions_r = { fg = "#d8a657" } # yellow +permissions_w = { fg = "#ea6962" } # red +permissions_x = { fg = "#7daea3" } # aqua +permissions_s = { fg = "#504945" } # bg2 + +[input] +border = { fg = "#7daea3" } # aqua +title = { fg = "#d4be98" } # fg +value = { fg = "#d4be98" } # fg +selected = { reversed = true } + +[select] +border = { fg = "#7daea3" } # aqua +active = { fg = "#d8a657" } # yellow +inactive = { fg = "#7c6f64" } # bg3 + +[completion] +border = { fg = "#7daea3" } # aqua diff --git a/zshrc/.aliases.zsh b/zshrc/.aliases.zsh index a6fdc9c..761c265 100644 --- a/zshrc/.aliases.zsh +++ b/zshrc/.aliases.zsh @@ -3,12 +3,14 @@ alias cld='clear && cd' alias neo='neofetch' alias f='fuck' alias a='aerc' +alias oc='opencode' # colorscheme -alias col='bash -c "$(wget -qO- https://git.io/vQgMr)"' +alias col='kitten themes' alias sc='~/scripts/theme-switch' # Scripts +alias br='/home/liph/scripts/niri_br.sh' alias la='/home/liph/scripts/latex.sh' alias ar='/mnt/tank/scripts/aria.sh' alias sp='/mnt/tank/scripts/split.sh' diff --git a/zshrc/.export.zsh b/zshrc/.export.zsh index 1abca63..d5cbab3 100644 --- a/zshrc/.export.zsh +++ b/zshrc/.export.zsh @@ -36,6 +36,8 @@ export SDL_VIDEODRIVER=wayland export CLUTTER_BACKEND=wayland export MOZ_ENABLE_WAYLAND=1 +export PATH="$HOME/.local/share/nvim/mason/bin:$PATH" + # Bitwarde # export BW_SESSION=$(bw unlock --raw) diff --git a/zshrc/.zshrc b/zshrc/.zshrc index 13bd570..5e1992d 100644 --- a/zshrc/.zshrc +++ b/zshrc/.zshrc @@ -127,3 +127,6 @@ function zvm_after_init() { bindkey '^@' autosuggest-accept } export PATH="$HOME/.local/bin:$PATH" + +# opencode +export PATH=/home/liph/.opencode/bin:$PATH