too many things

This commit is contained in:
fbachus
2025-09-02 03:32:47 +02:00
parent c26d3a64b0
commit f19e8a00c7
81 changed files with 2724 additions and 1549 deletions

9
.config/air.toml Normal file
View File

@@ -0,0 +1,9 @@
[format]
line-width = 80
indent-width = 2
indent-style = "tab"
line-ending = "auto"
persistent-line-breaks = true
exclude = []
default-exclude = true
skip = []

View File

@@ -1,33 +1,3 @@
# Colors (One Dark)
# Default colors
[colors.primary]
background = '#2d3237'
foreground = '#abb2bf'
# Normal colors
[colors.normal]
black = '#1e2127'
red = '#e06c75'
green = '#98c379'
yellow = '#d19a66'
blue = '#61afef'
magenta = '#c678dd'
cyan = '#56b6c2'
white = '#abb2bf'
# Bright colors
[colors.bright]
black = '#5c6370'
red = '#e06c75'
green = '#98c379'
yellow = '#d19a66'
blue = '#61afef'
magenta = '#c678dd'
cyan = '#56b6c2'
white = '#ffffff'
[debug] [debug]
render_timer = false render_timer = false
@@ -79,7 +49,7 @@ program = "/usr/bin/fish"
[window] [window]
decorations = "none" decorations = "none"
dynamic_padding = false dynamic_padding = false
opacity = 0.30 opacity = 0.20
blur = true blur = true
[window.padding] [window.padding]
@@ -91,31 +61,7 @@ y = 0
#decorations = "buttonless" #decorations = "buttonless"
import = [ import = [
"~/.config/alacritty_font.toml", "~/.config/alacritty_font.toml",
"~/.config/alacritty/themes/themes/everforest_dark.toml"
] ]
[terminal] [terminal]
# Everforest color theme
# [colors.bright]
# black = "0x475258"
# blue = "0x7fbbb3"
# cyan = "0x83c092"
# green = "0xa7c080"
# magenta = "0xd699b6"
# red = "0xe67e80"
# yellow = "0xdbbc7f"
#
# [colors.normal]
# black = "0x475258"
# blue = "0x7fbbb3"
# cyan = "0x83c092"
# green = "0xa7c080"
# magenta = "0xd699b6"
# red = "0xe67e80"
# white = "0xd3c6aa"
# yellow = "0xdbbc7f"
#
# [colors.primary]
# background = "0x2d353b"
# foreground = "0xd3c6aa"

View File

@@ -1,5 +1,5 @@
[global] [global]
monitor = 0 monitor = 1
follow = none follow = none
sort = yes sort = yes

View File

@@ -15,7 +15,7 @@ abbr -a -- gs git status
abbr -a -- lgb git lgb abbr -a -- lgb git lgb
abbr -a !! --position anywhere --function last_history_item abbr -a !! --position anywhere --function last_history_item
abbr -a mksilent --position anywhere "&>/dev/null&" abbr -a mksilent --position anywhere "&>/dev/null&"
abbr -a inbg --position anywhere "&>/dev/null& && jobs | disown" abbr -a inbg --position anywhere "&>/dev/null&; jobs | disown"
abbr -a -- rm-orphans "sudo pacman -Qtdq | sudo pacman -Rns -" abbr -a -- rm-orphans "sudo pacman -Qtdq | sudo pacman -Rns -"
abbr -a -- screenl "systemctl hybrid-sleep && hyprlock &>/dev/null&" abbr -a -- screenl "systemctl hybrid-sleep && hyprlock &>/dev/null&"
abbr -a -- tree "eza -T" abbr -a -- tree "eza -T"
@@ -23,6 +23,9 @@ abbr -a -- trd "eza -T -D"
abbr -a -- trl "eza -T -L " abbr -a -- trl "eza -T -L "
abbr -a -- trld "eza -T -D -L " abbr -a -- trld "eza -T -D -L "
abbr -a -- trdl "eza -T -D -L " abbr -a -- trdl "eza -T -D -L "
abbr -a -- zayi yazi
abbr -a -- nv nvim
abbr -a -- v nvim
abbr -a "packagelist-update" "pacman -Qe | sed 's/ .*//g' | tee ~/Sync/explicitly_installed" abbr -a "packagelist-update" "pacman -Qe | sed 's/ .*//g' | tee ~/Sync/explicitly_installed"
abbr -a "nvim-headless-update" 'nvim --headless "+Lazy! sync" +qa' abbr -a "nvim-headless-update" 'nvim --headless "+Lazy! sync" +qa'
abbr -a "nvim-headless-clean" 'nvim --headless "+Lazy! clean" +qa' abbr -a "nvim-headless-clean" 'nvim --headless "+Lazy! clean" +qa'
@@ -59,6 +62,7 @@ set -g fish_color_valid_path --underline
starship init fish | source starship init fish | source
zoxide init --cmd cd fish | source zoxide init --cmd cd fish | source
# atuin init fish | source
# pnpm # pnpm
set -gx PNPM_HOME "/home/felix/.local/share/pnpm" set -gx PNPM_HOME "/home/felix/.local/share/pnpm"

View File

@@ -1,19 +1,21 @@
# This file contains fish universal variable definitions. # This file contains fish universal variable definitions.
# VERSION: 3.0 # VERSION: 3.0
SETUVAR --export BAT_THEME:OneHalfDark SETUVAR --export BAT_THEME:OneHalfDark
SETUVAR DISPLAY:\x3a0
SETUVAR --export EDITOR:nvim SETUVAR --export EDITOR:nvim
SETUVAR --export ELECTRON_OZONE_PLATFORM_HINT:wayland SETUVAR --export ELECTRON_OZONE_PLATFORM_HINT:wayland
SETUVAR FLASK_ENV:development SETUVAR FLASK_ENV:development
SETUVAR --export --path GODOT_ADDON_PATH:\x7e/\x2elocal/share/godot/addons SETUVAR --export --path GODOT_ADDON_PATH:\x7e/\x2elocal/share/godot/addons
SETUVAR GTK_THEME:adwaita
SETUVAR LANG:en_GB\x2eUTF\x2d8 SETUVAR LANG:en_GB\x2eUTF\x2d8
SETUVAR LANGUAGE:en_GB\x2eUTF\x2d8 SETUVAR LANGUAGE:en_GB\x2eUTF\x2d8
SETUVAR --export LAST_DIR:/home/felix/Code/side/advent_of_code_2024 SETUVAR --export LAST_DIR:/home/felix/Code/side/advent_of_code_2024
SETUVAR --export MY_GITLAB_TOKEN:glpat\x2dye6rAJswy24rQcRNnmLo SETUVAR --export MY_GITLAB_TOKEN:glpat\x2dye6rAJswy24rQcRNnmLo
SETUVAR --export RUSTC_WRAPPER:sccache SETUVAR --export RUSTC_WRAPPER:\x1d
SETUVAR --export SUDO_ASKPASS:/usr/bin/ksshaskpass SETUVAR --export SUDO_ASKPASS:/usr/bin/ksshaskpass
SETUVAR TERMINAL_FONT_SIZE:14 SETUVAR TERMINAL_FONT_SIZE:14
SETUVAR --export VISUAL_EDITOR:nvim SETUVAR --export VISUAL_EDITOR:nvim
SETUVAR __fish_initialized:3400 SETUVAR __fish_initialized:3800
SETUVAR _fish_abbr_audio_2D_switch:\x7e/Code/scripts/alsa\x2dfp\x2dswitch\x2esh SETUVAR _fish_abbr_audio_2D_switch:\x7e/Code/scripts/alsa\x2dfp\x2dswitch\x2esh
SETUVAR _fish_abbr_clera:clear SETUVAR _fish_abbr_clera:clear
SETUVAR _fish_abbr_current_2D_project:vim\x20Code/side/first_rust_gui SETUVAR _fish_abbr_current_2D_project:vim\x20Code/side/first_rust_gui
@@ -22,28 +24,28 @@ SETUVAR _fish_abbr_uin:sudo\x20pacman\x20\x2dRuscn
SETUVAR _fisher_nickeb96_2F_puffer_2D_fish_files:\x7e/\x2econfig/fish/functions/_puffer_fish_expand_bang\x2efish\x1e\x7e/\x2econfig/fish/functions/_puffer_fish_expand_dots\x2efish\x1e\x7e/\x2econfig/fish/functions/_puffer_fish_expand_lastarg\x2efish\x1e\x7e/\x2econfig/fish/conf\x2ed/puffer_fish_key_bindings\x2efish SETUVAR _fisher_nickeb96_2F_puffer_2D_fish_files:\x7e/\x2econfig/fish/functions/_puffer_fish_expand_bang\x2efish\x1e\x7e/\x2econfig/fish/functions/_puffer_fish_expand_dots\x2efish\x1e\x7e/\x2econfig/fish/functions/_puffer_fish_expand_lastarg\x2efish\x1e\x7e/\x2econfig/fish/conf\x2ed/puffer_fish_key_bindings\x2efish
SETUVAR _fisher_plugins:nickeb96/puffer\x2dfish SETUVAR _fisher_plugins:nickeb96/puffer\x2dfish
SETUVAR _fisher_upgraded_to_4_4:\x1d SETUVAR _fisher_upgraded_to_4_4:\x1d
SETUVAR fish_color_autosuggestion:969896 SETUVAR fish_color_autosuggestion:4D5566
SETUVAR fish_color_cancel:\x2d\x2dreverse SETUVAR fish_color_cancel:\x2d\x2dreverse
SETUVAR fish_color_command:b294bb SETUVAR fish_color_command:39BAE6
SETUVAR fish_color_comment:f0c674 SETUVAR fish_color_comment:626A73
SETUVAR fish_color_cwd:green SETUVAR fish_color_cwd:59C2FF
SETUVAR fish_color_cwd_root:red SETUVAR fish_color_cwd_root:red
SETUVAR fish_color_end:b294bb SETUVAR fish_color_end:F29668
SETUVAR fish_color_error:cc6666 SETUVAR fish_color_error:FF3333
SETUVAR fish_color_escape:00a6b2 SETUVAR fish_color_escape:95E6CB
SETUVAR fish_color_history_current:\x2d\x2dbold SETUVAR fish_color_history_current:\x2d\x2dbold
SETUVAR fish_color_host:normal SETUVAR fish_color_host:normal
SETUVAR fish_color_host_remote:\x1d SETUVAR fish_color_host_remote:yellow
SETUVAR fish_color_keyword:\x1d SETUVAR fish_color_keyword:39BAE6
SETUVAR fish_color_match:\x2d\x2dbackground\x3dbrblue SETUVAR fish_color_match:F07178
SETUVAR fish_color_normal:normal SETUVAR fish_color_normal:B3B1AD
SETUVAR fish_color_operator:00a6b2 SETUVAR fish_color_operator:E6B450
SETUVAR fish_color_option:\x1d SETUVAR fish_color_option:B3B1AD
SETUVAR fish_color_param:81a2be SETUVAR fish_color_param:B3B1AD
SETUVAR fish_color_quote:b5bd68 SETUVAR fish_color_quote:C2D94C
SETUVAR fish_color_redirection:8abeb7 SETUVAR fish_color_redirection:FFEE99
SETUVAR fish_color_search_match:bryellow\x1e\x2d\x2dbackground\x3dbrblack SETUVAR fish_color_search_match:\x2d\x2dbackground\x3dE6B450
SETUVAR fish_color_selection:white\x1e\x2d\x2dbold\x1e\x2d\x2dbackground\x3dbrblack SETUVAR fish_color_selection:\x2d\x2dbackground\x3dE6B450
SETUVAR fish_color_status:red SETUVAR fish_color_status:red
SETUVAR fish_color_user:brgreen SETUVAR fish_color_user:brgreen
SETUVAR fish_color_valid_path:\x2d\x2dunderline SETUVAR fish_color_valid_path:\x2d\x2dunderline
@@ -58,7 +60,7 @@ SETUVAR fish_pager_color_secondary_background:\x1d
SETUVAR fish_pager_color_secondary_completion:\x1d SETUVAR fish_pager_color_secondary_completion:\x1d
SETUVAR fish_pager_color_secondary_description:\x1d SETUVAR fish_pager_color_secondary_description:\x1d
SETUVAR fish_pager_color_secondary_prefix:\x1d SETUVAR fish_pager_color_secondary_prefix:\x1d
SETUVAR fish_pager_color_selected_background:\x2d\x2dbackground\x3dbrblack SETUVAR fish_pager_color_selected_background:\x2d\x2dbackground\x3dE6B450
SETUVAR fish_pager_color_selected_completion:\x1d SETUVAR fish_pager_color_selected_completion:\x1d
SETUVAR fish_pager_color_selected_description:\x1d SETUVAR fish_pager_color_selected_description:\x1d
SETUVAR fish_pager_color_selected_prefix:\x1d SETUVAR fish_pager_color_selected_prefix:\x1d

View File

@@ -0,0 +1,11 @@
function battery_capacity
cd /sys/class/power_supply/
for dir in ( ls | rg BAT | cut -d" " -f1)
cd $dir &&
cat energy_full | read x &&
cat energy_full_design | read y &&
echo "capacity % of $dir compared to design capacity"
kalker $x/$y &&
cd ..
end
end

View File

@@ -1,4 +1,4 @@
function restart --argument x function restart --argument x
pkill $x && $x &>/dev/null& && sleep 0.2 && jobs | disown pkill $x; $x &>/dev/null&; sleep 0.2; jobs | disown
end end

View File

@@ -1,6 +1,6 @@
function setscreenb --argument x function setscreenb --argument x
for i in (seq 1 2) for i in (seq 1 2)
sudo ddcutil setvcp 10 $x -d $i ddcutil setvcp 10 $x -d $i
end end
end end

View File

@@ -0,0 +1,5 @@
vivaldi &
Telegram &
## sharing is caring
ktorrent

View File

@@ -3,9 +3,13 @@
$terminal = kitty $terminal = kitty
$spotify = spotify --enable-features=UseOzonePlatform --ozone-platform=wayland $spotify = spotify --enable-features=UseOzonePlatform --ozone-platform=wayland
$fileManager = dolphin $fileManager = dolphin
$menu = wofi --show drun $menu = tofi --show drun
$appLauncher = tofi-drun | xargs hyprctl dispatch exec -- $appLauncher = tofi-drun --num-results=5 | xargs hyprctl dispatch exec --
$lockscreen = hyprlock --immediate $lockscreen = hyprlock --immediate
$lockscreen_timeout = hyprlock $lockscreen_timeout = hyprlock
$nextcloud = nextcloud --background $nextcloud = nextcloud --background
$clipboard-manager = cliphist list | awk '{gsub("\t", " "); print}'\ | tofi --width=800 --font-size=14 --font-features="" --background-color=191A1CE0 | awk '{print $1}' | tr -d '\n' | cliphist decode | wl-copy $clipboard-manager = cliphist list | awk '{gsub("\t", " "); print}'\ | tofi --width=1000 --font-size=14 --font-features="" --anchor=bottom --background-color=191A1CE0 | awk '{print $1}' | tr -d '\n' | cliphist decode | wl-copy
$colorpicker = notify-send $(hyprpicker -af hex)
$powermenu = hyprctl dispatch exec ~/.config/hypr/tofi_scripts/powermenu.sh
$brightnessmenu = hyprctl dispatch exec ~/.config/hypr/tofi_scripts/brightnessmenu.sh

View File

@@ -1,33 +1,40 @@
#!/usr/bin/bash #!/usr/bin/bash
# variables ## variables
config=$HOME/.config/hypr config=$HOME/.config/hypr &
# wallpaper ## wallpaper
hyprpaper & hyprpaper &
# notification daemon ## notification daemon
dunst & dunst &
# secrets manager ## secrets manager
kwalletd6 & kwalletd6 &
# waybar ## waybar
waybar & waybar &
# syncronisation ## other
syncthing &
nextcloud --background &
# clipboard
wl-paste --watch cliphist store &
# network-manager tray icon
NetworkManager &
nm-applet &
# other
polkit-kde-authentication-agent-1 & polkit-kde-authentication-agent-1 &
dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP & dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP &
hypridle & hypridle &
polkit-qt6 & systemctl --user start hyprpolkitagent &
xwaylandvideobridge &
## syncronisation
syncthing &
nextcloud --background &
## clipboard
wl-paste --watch cliphist store &
# xwaylandvideobridge &
## workspace
kitty --single-instance --session '~/.local/share/kittymainsession' &
## network-manager tray icon
sleep 1 &
NetworkManager &
nm-applet &

3
.config/hypr/gamemode.sh Normal file → Executable file
View File

@@ -8,7 +8,8 @@ if [ "$HYPRGAMEMODE" = 1 ] ; then
keyword general:gaps_in 0;\ keyword general:gaps_in 0;\
keyword general:gaps_out 0;\ keyword general:gaps_out 0;\
keyword general:border_size 1;\ keyword general:border_size 1;\
keyword decoration:rounding 0" keyword decoration:rounding 0;\
keyword render:direct_scanout 0"
exit exit
fi fi
hyprctl reload hyprctl reload

View File

@@ -13,8 +13,13 @@ bind = $mainMod ALT_L, K, exec, hyprctl switchxkblayout holtek-usb-hid-keyboard
# % is needed for the DragonFly, because it is too finegrained with 65k steps # % is needed for the DragonFly, because it is too finegrained with 65k steps
binde = ,XF86AudioLowerVolume, exec, amixer -M -- set Master Playback Switch 1%- binde = ,XF86AudioLowerVolume, exec, amixer -M -- set Master Playback Switch 1%-
binde = ,XF86AudioRaiseVolume, exec, amixer -M -- set Master Playback Switch 1%+ binde = ,XF86AudioRaiseVolume, exec, amixer -M -- set Master Playback Switch 1%+
bind = ,XF86AudioMute, exec, amixer -M -- set Master Playback Switch toggle bind = ,XF86AudioMute, exec, amixer -M -- set Master Playback Switch toggle
bind = ,XF86AudioMicMute, exec, amixer -M -- set Capture toggle
bindle = ,XF86MonBrightnessUp, exec, brightnessctl set +5%
bindle = ,XF86MonBrightnessDown, exec, brightnessctl set 5%-
bind = ,Print, exec, hyprshot --mode region -o ~/Pictures/Screenshots/
# Reduce effects for performance # Reduce effects for performance
bind = WIN, F1, exec, ~/.config/hypr/gamemode.sh bind = WIN, F1, exec, ~/.config/hypr/gamemode.sh
@@ -23,6 +28,12 @@ bind = WIN, F1, exec, ~/.config/hypr/gamemode.sh
bind = $mainMod, V, exec, $clipboard-manager bind = $mainMod, V, exec, $clipboard-manager
bind = $mainMod SHIFT, V, exec, cliphist wipe bind = $mainMod SHIFT, V, exec, cliphist wipe
# colorpicker
bind = $mainMod SHIFT, P, exec, $colorpicker
# Passthrough
bind = ALT_L ALT_R, M, pass, class:^(discord)
# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more # Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more
bind = $mainMod, Q, exec, $terminal bind = $mainMod, Q, exec, $terminal
bind = $mainMod, M, exit, bind = $mainMod, M, exit,
@@ -34,7 +45,6 @@ bind = $mainMod, C, killactive,
bind = $mainMod, D, togglesplit, # dwindle bind = $mainMod, D, togglesplit, # dwindle
bind = ALT_L, F4, killactive bind = ALT_L, F4, killactive
bind = ALT_L, SPACE, exec, $appLauncher bind = ALT_L, SPACE, exec, $appLauncher
bind = ALT_L, F11, fullscreenstate, 0
bind = $mainMod, F11, fullscreenstate, 2 # maximize # fullscreen window w/o fullscreen mode bind = $mainMod, F11, fullscreenstate, 2 # maximize # fullscreen window w/o fullscreen mode
bind = $mainMod, up, fullscreenstate, 3 # maximize # fullscreen window w/o fullscreen mode bind = $mainMod, up, fullscreenstate, 3 # maximize # fullscreen window w/o fullscreen mode
bind = ALT_L, TAB, cyclenext bind = ALT_L, TAB, cyclenext
@@ -51,9 +61,12 @@ bind = $mainMod, O, fullscreenstate, 1
# lock # lock
bind = $mainMod, F12, exec, $lockscreen bind = $mainMod, F12, exec, $lockscreen
# powermenu
bind = $mainMod SHIFT_L, F12, exec, $powermenu
bind = $mainMod ALT_L, B, exec, $brightnessmenu
# swap workspaces between monitors # swap workspaces between monitors
bind = $mainMod ALT_L, s, swapactiveworkspaces, DP-1 DP-2 # bind = $mainMod ALT_L, s, swapactiveworkspaces, DP-1 DP-2
bind = $mainMod ALT_L, s, swapactiveworkspaces, eDP-1 HDMI-A-2 bind = $mainMod ALT_L, s, swapactiveworkspaces, 0 1 # generic is good enough
# Move window in direction # Move window in direction
bind = $mainMod SHIFT, h, swapwindow, l bind = $mainMod SHIFT, h, swapwindow, l
@@ -64,6 +77,8 @@ bind = $mainMod SHIFT, l, swapwindow, r
# Move window to other screen # Move window to other screen
bind = $mainMod SHIFT, left, movewindow, mon:-1 bind = $mainMod SHIFT, left, movewindow, mon:-1
bind = $mainMod SHIFT, right, movewindow, mon:+1 bind = $mainMod SHIFT, right, movewindow, mon:+1
bind = $mainMod ALT_L CTRL, h, movewindow, mon:-1
bind = $mainMod ALT_L CTRL, l, movewindow, mon:+1
# Resize Window in direction # Resize Window in direction
binde = $mainMod CTRL, h, resizeactive, -25 0 binde = $mainMod CTRL, h, resizeactive, -25 0
@@ -100,8 +115,8 @@ bind = $mainMod ALT_L, h, movetoworkspace, r-1
bind = $mainMod ALT_L, l, movetoworkspace, r+1 bind = $mainMod ALT_L, l, movetoworkspace, r+1
# Switch to next/previous virtual workspace/ desktop, ignore empty # Switch to next/previous virtual workspace/ desktop, ignore empty
bind = ALT_L, h, workspace, e-1 bind = ALT_L, h, workspace, m-1
bind = ALT_L, l, workspace, e+1 bind = ALT_L, l, workspace, m+1
# ---- # ----
# Example special workspace (scratchpad) # Example special workspace (scratchpad)
@@ -116,15 +131,17 @@ bind = $mainMod SHIFT, X, movetoworkspace, special:X
# ---- # ----
# Scroll through existing workspaces with mainMod + scroll # Scroll through existing workspaces with mainMod + scroll
bind = $mainMod, mouse_down, workspace, e+1 bind = $mainMod, mouse_down, workspace, m-1
bind = $mainMod, mouse_up, workspace, e-1 bind = $mainMod, mouse_up, workspace, m+1
# Move/resize windows with mainMod + LMB/RMB and dragging # Move/resize windows with mainMod + LMB/RMB and dragging
bindm = $mainMod, mouse:272, movewindow bindm = $mainMod, mouse:272, movewindow
bindm = $mainMod, mouse:273, resizewindow bindm = $mainMod, mouse:273, resizewindow
bind = SHIFT_LALT_L, h, changegroupactive, b bind = SHIFT_L ALT_L, h, changegroupactive, b
bind = SHIFT_LALT_L, l, changegroupactive, f bind = SHIFT_L ALT_L, l, changegroupactive, f
## GROUPS
#-------------------- #--------------------
# will switch to a submap called groups # will switch to a submap called groups
bind = $mainMod, G, submap, groups bind = $mainMod, G, submap, groups
@@ -142,12 +159,19 @@ bind = , l, moveintogroup, r
bind = , G, moveoutofgroup, bind = , G, moveoutofgroup,
# Toggle a group on the current window # Toggle a group on the current window
bind = $mainMod, t, togglegroup bind = $mainMod, t, togglegroup
#
# lock window group # lock window group
bind = , L, lockactivegroup bind = , l, lockactivegroup, toggle
# use reset to go backc to the global submap # use reset to go backc to the global submap
bind = , escape, submap, reset bind = , escape, submap, reset
# Move focus with mainMod + arrow keys
bind = $mainMod, h, movefocus, l
bind = $mainMod, j, movefocus, d
bind = $mainMod, k, movefocus, u
bind = $mainMod, l, movefocus, r
# will reset the submap, which will return to the global submap # will reset the submap, which will return to the global submap
submap = reset submap = reset
#-------------------- #--------------------

View File

@@ -5,17 +5,18 @@ general {
} }
listener { listener {
timeout = 300 # 5min. timeout = 300 # 5 min.
# timeout = 90 # 1.5 min.
on-timeout = brightnessctl -s set 10 # set monitor backlight to minimum, avoid 0 on OLED monitor. on-timeout = brightnessctl -s set 10 # set monitor backlight to minimum, avoid 0 on OLED monitor.
on-resume = brightnessctl -r # monitor backlight restor. on-resume = brightnessctl -r # monitor backlight restor.
} }
# turn off keyboard backlight, uncomment this section if have keyboard backlight. ## turn off keyboard backlight, uncomment this section if have keyboard backlight.
listener { # listener {
timeout = 60 # 1min. # timeout = 60 # 1min.
on-timeout = brightnessctl -sd rgb:kbd_backlight set 0 # turn off keyboard backlight. # on-timeout = brightnessctl -sd rgb:kbd_backlight set 0 # turn off keyboard backlight.
on-resume = brightnessctl -rd rgb:kbd_backlight # turn on keyboard backlight. # on-resume = brightnessctl -rd rgb:kbd_backlight # turn on keyboard backlight.
} # }
listener { listener {
timeout = 900 # 15min timeout = 900 # 15min

View File

@@ -3,59 +3,53 @@
# For a full list, see the wiki # For a full list, see the wiki
# #
autogenerated = 0 # remove this line to remove the warning
# See https://wiki.hyprland.org/Configuring/Monitors/
#monitor=name,resolution,offset, scale
#offset scales with scale XC
#monitor=DP-1,3840x2160@60,320x-1440,auto, bitdepth, 10, vrr, 1 #320=(2560-1920)/2
#monitor=DP-1,3840x2160@144,auto,auto, bitdepth, 10, vrr, 1
#monitor=DP-2,3840x2160,-2560x0,auto, bitdepth, 10, vrr, 1
monitor=eDP-1,1920x1080,auto,1,vrr, 1
monitor=HDMI-A-1,2560x1440@60.00,0x-1440,1
monitor= ,highres@highrr,auto-up,1
monitor=DP-1,highres@highrr,auto-right,auto, bitdepth, 10, vrr, 1
monitor=DP-2,highres@highrr,auto-left,auto, bitdepth, 10, vrr, 1
# See https://wiki.hyprland.org/Configuring/Keywords/ for more # See https://wiki.hyprland.org/Configuring/Keywords/ for more
# Execute your favorite apps at launch # Execute your favorite apps at launch
# exec-once = waybar & hyprpaper & dunst & syncthing & $nextcloud & $terminal # exec-once = waybar & hyprpaper & dunst & syncthing & $nextcloud & $terminal
exec-once = $HOME/.config/hypr/autostart exec-once = $HOME/.config/hypr/autostart
exec-once = gsettings set org.gnome.desktop.interface gtk-theme "Adwaita-dark" # for GTK3 apps exec-once = $HOME/.config/hypr/always_applications
#exec-once = gsettings set org.gnome.desktop.interface gtk-theme "Adwaita" # for GTK3 apps
exec-once = gsettings set org.gnome.desktop.interface color-scheme "prefer-dark" # for GTK4 apps exec-once = gsettings set org.gnome.desktop.interface color-scheme "prefer-dark" # for GTK4 apps
# Source a file (multi-file configs) # Source a file (multi-file configs)
# source = ~/.config/hypr/myColors.conf # source = ~/.config/hypr/myColors.conf
source = ~/.config/hypr/background.conf source = ~/.config/hypr/background.conf
source = ~/.config/hypr/hyprbindings.conf source = ~/.config/hypr/hyprbindings.conf
source = ~/.config/hypr/monitors.conf
source = ~/.config/hypr/apps.conf source = ~/.config/hypr/apps.conf
source = ~/.config/hypr/windowrules.conf source = ~/.config/hypr/windowrules.conf
# Some default env vars. # Some default env vars.
env = XCURSOR_SIZE,32 env = XCURSOR_SIZE,32
env = GSK_RENDERER,ngl env = GSK_RENDERER,ngl
env = GTK_THEME,Adwaita-dark env = DISPLAY,:0
env = GDK_BACKEND,wayland,x11,*
#env = GTK_THEME,AdwaitaDark
env = SDL_VIDEODRIVER,wayland
env = QT_QPA_PLATFORM,wayland # here for calibre, with debatable effect env = QT_QPA_PLATFORM,wayland # here for calibre, with debatable effect
env = QT_QPA_PLATFORMTHEME,qt6ct # change to qt6ct if you have that env = QT_QPA_PLATFORMTHEME,qt6ct # change to qt6ct if you have that
env = QT_WAYLAND_DISABLE_WINDOWDECORATION,1
env = QT_AUTO_SCREEN_SCALE_FACTOR,1 env = QT_AUTO_SCREEN_SCALE_FACTOR,1
#plugin = /home/felix/Sync/dotfiles/.config/hypr/plugins/hyprslidr.so
# For all categories, see https://wiki.hyprland.org/Configuring/Variables/ # For all categories, see https://wiki.hyprland.org/Configuring/Variables/
input { input {
kb_layout = gb,de kb_layout = gb,eu,de
#kb_layout = de,gb #kb_layout = gb,de
kb_variant = nodeadkeys #kb_variant = nodeadkeys
kb_model = pc105 kb_model = pc105
kb_options = caps:escape kb_options = caps:escape
kb_rules = kb_rules =
numlock_by_default = true numlock_by_default = true
repeat_rate = 35 repeat_rate = 45
repeat_delay = 300 repeat_delay = 300
# Follow mouse 1 2 3 : # Follow mouse 1 2 3 :
follow_mouse = 2 # see also float_switch_override_focus follow_mouse = 2 # see also float_switch_override_focus
float_switch_override_focus = 0 float_switch_override_focus = 0
accel_profile = flat
touchpad { touchpad {
natural_scroll = yes natural_scroll = yes
@@ -67,17 +61,15 @@ input {
# sensitivity = -0.4 # -1.0 - 1.0, 0 means no modification. # sensitivity = -0.4 # -1.0 - 1.0, 0 means no modification.
# accel_profile = flat # accel_profile = flat
# Laptop with touchpad # Laptop with touchpad
sensitivity = 0
accel_profile = adaptive
} }
general { general {
# See https://wiki.hyprland.org/Configuring/Variables/ for more # See https://wiki.hyprland.org/Configuring/Variables/ for more
gaps_in = 2 gaps_in = 1
gaps_out = 1 gaps_out = 0
border_size = 1 border_size = 1
col.active_border = rgba(33ccffee) rgba(00ff99ee) 30deg col.active_border = rgba(00ff99ee) rgba(33ccffee) 30deg
col.inactive_border = rgba(595959aa) col.inactive_border = rgba(595959aa)
layout = dwindle layout = dwindle
@@ -89,15 +81,19 @@ general {
decoration { decoration {
# See https://wiki.hyprland.org/Configuring/Variables/ for more # See https://wiki.hyprland.org/Configuring/Variables/ for more
rounding = 0 rounding = 10
dim_inactive = false
dim_strength = 0.1
# inactive_opacity = 0.95
blur { blur {
enabled = true enabled = true
size = 1 size = 1
passes = 3 passes = 3
brightness = 0.6
popups = true popups = true
vibrancy = 0.3 vibrancy = 0.2
vibrancy_darkness = 0.8 vibrancy_darkness = 0.2
} }
shadow { shadow {
enabled = no enabled = no
@@ -111,14 +107,21 @@ group {
enabled = true enabled = true
font_family = "Hurmit Nerd Font Regular" font_family = "Hurmit Nerd Font Regular"
font_size = 11 font_size = 11
gaps_in = 5
gradient_rounding = 15
gradients = false gradients = false
scrolling = false indicator_height = 1
render_titles = false render_titles = false
round_only_edges = false
scrolling = false
col.active = rgba(33ccffaa) col.active = rgba(33ccffaa)
col.inactive = rgba(00ff9933) col.inactive = rgba(00ff9933)
col.locked_active = rgba(f075f0ed)
} }
#col.border_active = rgba(ea1d4ebb) rgba(fd7000bb) 45deg #col.border_active = rgba(ea1d4ebb) rgba(fd7000bb) 45deg
col.border_active = rgba(00ff99ee) rgba(33ccffee) 30deg col.border_active = rgba(33ccffee) rgba(00ff99ee) 30deg
col.border_locked_active = rgba(33ccffee) rgba(cc00ffee) 30deg
} }
animations { animations {
@@ -135,6 +138,9 @@ animations {
animation = fade, 1, 7, default animation = fade, 1, 7, default
animation = workspaces, 1, 5, default animation = workspaces, 1, 5, default
} }
render {
direct_scanout = 2 #auto
}
dwindle { dwindle {
# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more # See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
@@ -155,13 +161,14 @@ gestures {
misc { misc {
# See https://wiki.hyprland.org/Configuring/Variables/ for more # See https://wiki.hyprland.org/Configuring/Variables/ for more
force_default_wallpaper = 0 # Set to 0 or 1 to disable the anime mascot wallpapers force_default_wallpaper = 0 # Set to 0 or 1 to disable the anime mascot wallpapers
vfr = true
} }
# Example per-device config # Example per-device config
# See https://wiki.hyprland.org/Configuring/Keywords/#executing for more # See https://wiki.hyprland.org/Configuring/Keywords/#executing for more
device { device {
name = roccat-roccat-leadr-mouse name = roccat-roccat-leadr-mouse
sensitivity = -0.4 sensitivity = -0.2
accel_profile = flat accel_profile = flat
} }
device { device {
@@ -169,6 +176,16 @@ device {
sensitivity = 0.4 sensitivity = 0.4
accel_profile = flat accel_profile = flat
} }
device {
name = synaptics-tm3276-022
accel_profile = custom 0.5 0.0 0.35 0.78 1.05 1.5 2.1 2.8 3.7
#accel_profile = adaptive
sensitivity = 0.0
}
ecosystem {
no_update_news = true
}
# execute at end # execute at end
exec-once=dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP exec-once=dbus-update-activation-environment --systemd WAYLAND_DISPLAY DISPLAY XDG_CURRENT_DESKTOP

View File

@@ -1,6 +1,7 @@
disable_loading_bar = false disable_loading_bar = false
general { general {
hide_cursor = true
grace = 20 grace = 20
text_trim = false text_trim = false
} }
@@ -11,11 +12,11 @@ background {
path = screenshot path = screenshot
# color = rgba(20,20,20,80) # color = rgba(20,20,20,80)
blur_passes = 3 blur_passes = 4
blur_size = 1 blur_size = 1
noise = 0.2117 noise = 0.0717
contrast = 0.8916 contrast = 0.8916
brightness = 0.5172 brightness = 0.4672
vibrancy = 0.1696 vibrancy = 0.1696
vibrancy_darkness = 1.0 vibrancy_darkness = 1.0
} }
@@ -51,7 +52,7 @@ input-field {
} }
label { label {
monitor = monitor =
text = $TIME ' text = $TIME
color = hsla(50, 60%, 50%, 0.8) color = hsla(50, 60%, 50%, 0.8)
font_size = 35 font_size = 35
font_family = Z003 font_family = Z003

View File

@@ -0,0 +1,42 @@
# See https://wiki.hyprland.org/Configuring/Monitors/ monitor=name,resolution,offset, scale offset scales with scale XC
# for a triple monitor setup > 1: down + 2: center + 3: right -- LAPTOP
monitor=eDP-1,1920x1080,0x0,1,vrr, 1
monitor= ,highres@highrr,auto-up,auto
monitor=desc:Iiyama North America PL2492H 1151164104155,highres@highrr,1920x-1260,auto, bitdepth, 10, vrr, 1
#monitor=desc:Iiyama North America PL2492H 1151164104155,disable
monitor=desc:Iiyama North America PL2797Q 12328405B1733,highres@99.90,-640x-1440,auto, bitdepth, 10, vrr, 1
monitor=desc:Iiyama North America PL2492H 11511811A1794,highres@highrr,auto-up,auto, bitdepth, 10, vrr, 1
#monitor=desc:Iiyama North America PL2792Q 1216731821134,highres@highrr,-640x-1440,auto, bitdepth, 10, vrr, 1
## Variant 3
monitor=eDP-1,1920x1080,auto-down,1,vrr, 1
monitor=desc:Iiyama North America PL2492H 1151164104155,highres@highrr,auto-left, auto, vrr, 1
monitor=desc:Iiyama North America PL2492H 11511811A1794,highres@highrr,0x0, auto, vrr, 1
# ---
monitor=desc:Philips Consumer Electronics Company PHL 272B8Q UK01945026658,highres@highrr,auto-up,auto, bitdepth, 10, vrr, 1
# --- DESKTOP DUAL MONITOR SETUP
#monitor=desc:Advanced Micro Peripherals Ltd ES07D03 EVE213400622,preferred,auto-right, auto, bitdepth, 8, vrr, 1, cm, auto
#monitor=desc:Iiyama North America PLG2888UH 0x01010101,preferred,auto-left, auto, bitdepth, 8, vrr, 1
monitor=desc:Advanced Micro Peripherals Ltd ES07D03 EVE213400622,preferred,auto-right, 1, bitdepth, 8, vrr, 1, cm, auto
monitor=desc:Iiyama North America PLG2888UH 0x01010101,preferred,auto-left, 1, bitdepth, 8, vrr, 1
# turn off second monitor:
#monitor=desc:Iiyama North America PLG2888UH 0x01010101,disable
# use half of second monitor (PbP mode)
#monitor=desc:Iiyama North America PLG2888UH 0x01010101,1920x2160,auto-left, 1, bitdepth, 8, vrr, 1
#10 bit color depth
#monitor=desc:Advanced Micro Peripherals Ltd ES07D03 EVE213400622,preferred,auto-right, 1, bitdepth, 10, vrr, 1, cm, edid, sdrbrightness, 1.12, sdrsaturation, 1.28
#monitor=desc:Advanced Micro Peripherals Ltd ES07D03 EVE213400622,preferred,auto-right, 1, bitdepth, 10, vrr, 1, cm, wide, sdrbrightness, 1.12, sdrsaturation, 1.28
# hdr for primary monitor
#monitor=desc:Advanced Micro Peripherals Ltd ES07D03 EVE213400622,preferred,auto-right, 1, bitdepth, 10, vrr, 1, cm, hdredid, sdrbrightness, 1.22, sdrsaturation, 1.08
#monitor=desc:Advanced Micro Peripherals Ltd ES07D03 EVE213400622,preferred,auto-right, 1, bitdepth, 10, vrr, 1, cm, hdr, sdrbrightness, 1.12, sdrsaturation, 1.08

View File

@@ -1,33 +0,0 @@
Monitor DP-1 (ID 0):
3840x2160@143.98199 at 0x0
description: Advanced Micro Peripherals Ltd ES07D03 EVE213400622 (DP-1)
make: Advanced Micro Peripherals Ltd
model: ES07D03
serial: EVE213400622
active workspace: 1 (1)
special workspace: 0 ()
reserved: 0 0 0 0
scale: 1.50
transform: 0
focused: yes
dpmsStatus: 1
vrr: 0
activelyTearing: false
Monitor DP-2 (ID 1):
3840x2160@59.99700 at 2560x0
description: Iiyama North America PLG2888UH 0x01010101 (DP-2)
make: Iiyama North America
model: PLG2888UH
serial: 0x01010101
active workspace: 2 (2)
special workspace: 0 ()
reserved: 0 0 0 0
scale: 1.50
transform: 0
focused: no
dpmsStatus: 1
vrr: 0
activelyTearing: false

View File

@@ -0,0 +1,6 @@
#!/usr/bin/fish
set b $(seq 0 100 | tofi --config ~/.config/tofi/brightness_config)
for i in (seq 1 2)
ddcutil setvcp 10 $b -d $i
end

View File

@@ -0,0 +1,8 @@
#!/usr/bin/sh
b=$( for ((i=0;i<=100;i+=5)) do
echo $i
done| tofi --config ~/.config/tofi/brightness_config)
for ((i=0; i<3;i++)) do
ddcutil setvcp 10 $b -d $i
done

View File

@@ -0,0 +1,10 @@
#!/usr/bin/bash
case "$(printf "sleep\nreboot\nshutdown\nhybrid-sleep\nhibernate" | tofi --config .config/tofi/powermenu_config)" in
sleep) systemctl suspend;;
reboot) systemctl reboot;;
shutdown) shutdown now ;;
hybrid-sleep) hyprlock; systemctl suspend-then-hibernate;;
hibernate) systemctl hibernate;;
*) exit 1 ;;
esac

View File

@@ -1,31 +1,59 @@
# Example windowrule v1
# windowrule = float, ^(kitty)$
# Example windowrule v2 # Example windowrule v2 windowrulev2 = float,class:^(kitty)$,title:^(kitty)$ See https://wiki.hyprland.org/Configuring/Window-Rules/ for more now invalid: # windowrulev2 = nomaximizerequest, class:.* # You'll probably like this. windowrulev2 = float, pinned, class:^(dunst)$ windowrulev2 = float, pinned, class:^(notification)$
# windowrulev2 = float,class:^(kitty)$,title:^(kitty)$
# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more
# now invalid: # windowrulev2 = nomaximizerequest, class:.* # You'll probably like this.
windowrule = float, pinned, ^(dunst)$
windowrule = float, pinned, ^(notification)$
windowrulev2 = float, pinned, title:^(Nextcloud)$ windowrulev2 = float, pinned, title:^(Nextcloud)$
windowrulev2 = float, title:^(Volume Control)$ windowrulev2 = float, title:^(Volume Control)$
windowrulev2 = float, title:^(Network Connections)$ windowrulev2 = float, title:^(Network Connections)$
windowrulev2 = float, size 300 700, stayfocused, dimaround, fullscreenstate, 0, title:(Bitwarden - Vivaldi) windowrulev2 = float, size 400 800, stayfocused, dimaround, fullscreenstate, 0, title:(Bitwarden.*)
windowrulev2 = float, size 300 700, stayfocused, dimaround, fullscreenstate, 0, class:^(org.kde.kwalletd6)$
windowrulev2 = float, pin, workspace unset, noinitialfocus, suppressevents [fullscreen, maximize, activate, activatefocus], title:^(notificationtoasts) windowrulev2 = float, pin, workspace unset, noinitialfocus, suppressevents [fullscreen, maximize, activate, activatefocus], title:^(notificationtoasts)
windowrulev2 = float, pin, workspace unset, noinitialfocus, suppressevents [fullscreen, maximize, activate, activatefocus], initialTitle:^(Calendar Reminders)$
windowrulev2 = float, pin, workspace unset, title:(Picture in picture)
## workspace rules
workspace = 7, monitor:0
workspace = w[1], bordersize:0, gapsout:0, rounding:true
workspace = w[t2-9], rounding:false
# windows on special workspaces leave outer gaps
workspace = s[true], gapsout:20, gapsin:5
# fullscreen windows leave no gaps and have decorations disabled
workspace = f[1], gapsout:0, gapsin:0, bordersize:0, decorate:false, rounding:false
## Workspace allocation
windowrulev2 = workspace 6 silent, noinitialfocus, class:^(steam)$ windowrulev2 = workspace 6 silent, noinitialfocus, class:^(steam)$
windowrulev2 = workspace special:A silent, noinitialfocus, class:^(org.telegram.desktop)$ windowrulev2 = workspace 6 silent, noinitialfocus, title:^(Steam)$
windowrulev2 = workspace special:A silent, noinitialfocus, class:^(zapzap)$ #windowrulev2 = workspace 1 silent, class:^(kitty)$
windowrulev2 = workspace special:A silent, noinitialfocus, class:^(discord)$ windowrulev2 = workspace 3 silent, class:^(obsidian)$
windowrulev2 = workspace special:A silent, noinitialfocus, class:^(Slack)$ windowrulev2 = workspace 8 silent, noinitialfocus, class:^(input-remapper-gtk)$
windowrulev2 = workspace special:S silent, noinitialfocus, class:^(spotify)$ # not capitalised on PC windowrulev2 = workspace 2, initialClass:^(vivaldi-stable)$
windowrulev2 = workspace special:S silent, noinitialfocus, class:^(Spotify)$ # capitalised on laptop windowrulev2 = workspace 5, class:^(thunderbird)$
windowrulev2 = workspace special:S silent, noinitialfocus, class:^(com.sayonara-player.Sayonara)$
windowrulev2 = opacity 0.0 override, class:^(xwaylandvideobridge)$ ## tag allocation
windowrulev2 = noanim, class:^(xwaylandvideobridge)$ # windowrulev2 = tag +comms, class:^[(org.telegram.desktop)(zapzap)(discord)(Slack)]$
windowrulev2 = noinitialfocus, class:^(xwaylandvideobridge)$ windowrulev2 = tag +comms, class:^(org.telegram.desktop)$
windowrulev2 = maxsize 1 1, class:^(xwaylandvideobridge)$ windowrulev2 = tag +comms, class:^(discord)$
windowrulev2 = noblur, class:^(xwaylandvideobridge)$ windowrulev2 = tag +comms, class:^(Slack)$
windowrulev2 = nofocus, class:^(xwaylandvideobridge)$ windowrulev2 = tag +comms, initialTitle:^(ZapZap)$
windowrulev2 = workspace special:X silent, noinitialfocus, class:^(xwaylandvideobridge)$ windowrulev2 = tag +music, class:^([Ss]potify)$ # not capitalised on PC # capitalised on laptop
windowrulev2 = tag +music, class:^(com.sayonara-player.Sayonara)$
################## gaming
windowrulev2 = tag +game, class:^(gamescope)$
windowrulev2 = tag +game, class:^(noita)$
windowrulev2 = tag +game, class:^(steam_app.*)$
windowrulev2 = tag +game, title:^(Dota 2)$
## Tag rules
windowrulev2 = workspace 7, content game, immediate on, decorate off, idleinhibit fullscreen, class:^(gamescope)$
windowrulev2 = workspace 7, content game, immediate on, decorate off, idleinhibit fullscreen, tag: game
windowrulev2 = workspace special:A silent, noinitialfocus, tag: comms
windowrulev2 = workspace special:S silent, noinitialfocus, idleinhibit focus, tag: music
## Idle inhibit
windowrulev2 = idleinhibit fullscreen, fullscreen:1
## fixes for screensharing
windowrulev2 = workspace special:X silent, noinitialfocus, nofocus, noblur, maxsize 1 1, noanim, opacity 0.0 override, class:^(xwaylandvideobridge)$

View File

@@ -5,18 +5,23 @@ include current-theme.conf
# BEGIN_COLOR_SCHEME # BEGIN_COLOR_SCHEME
# background #1e1e1e # background #1e1e1e
background_opacity 0.7 # ↓↓same as nvim Everforest↓↓
background_blur 1 background #2D353B
background_tint 1.0 # ↑↑----------↑↑
transparent_background_colors #22262D #2D313B #303030 #000 background_opacity 0.25
background_blur 0
background_tint 0.0
transparent_background_colors #22262D #2D313B #303030 #000 #2D353B #343F44 #3D484D
# neovim backgrounds with Everforest theme: #2D353B #343F44
# END_COLOR_SCHEME # END_COLOR_SCHEME
# BEGIN_KITTY_FONTS # BEGIN_KITTY_FONTS
font_family family='Hurmit Nerd Font' style=Light font_family family="Hurmit Nerd Font"
bold_font auto bold_font auto
italic_font family='Hurmit Nerd Font' style='Light Italic' italic_font family='Hurmit Nerd Font' style='Light Italic'
bold_italic_font auto bold_italic_font auto
font_size 13.0 font_size 14.0
modify_font cell_height -4px
# END_KITTY_FONTS # END_KITTY_FONTS
# BEGIN_SCROLLBACK # BEGIN_SCROLLBACK
@@ -26,7 +31,7 @@ touch_scroll_multiplier 5.0
# BEGIN_WINDOW_LAYOUT # BEGIN_WINDOW_LAYOUT
hide_window_decorations yes hide_window_decorations yes
#window_padding_width 0 #window_padding_width 0
placement_strategy bottom placement_strategy center
# END_WINDOW_LAYOUT # END_WINDOW_LAYOUT
# BEGIN_TAB_BAR # BEGIN_TAB_BAR
@@ -36,14 +41,14 @@ tab_title_template "{index} {title}"
tab_title_max_length 20 tab_title_max_length 20
# active_tab_background #1e1e1e # active_tab_background #1e1e1e
# active_tab_foreground #b4cdbe # active_tab_foreground #b4cdbe
# active_tab_font_style Light active_tab_font_style Italic
# inactive_tab_background #1e1e1e # inactive_tab_background #1e1e1e
# inactive_tab_foreground #48736e # inactive_tab_foreground #48736e
inactive_tab_font_style Light #inactive_tab_font_style Light
# END_TAB_BAR # END_TAB_BAR
# BEGIN_PERFORMANCE_TUNING # BEGIN_PERFORMANCE_TUNING
repaint_delay 8 repaint_delay 5
# END_PERFORMANCE_TUNING # END_PERFORMANCE_TUNING
# BEGIN_KEYBOARD_SHORTCUTS # BEGIN_KEYBOARD_SHORTCUTS
@@ -68,5 +73,5 @@ map alt+z toggle_layout stack
# END_KEYBOARD_SHORTCUTS # END_KEYBOARD_SHORTCUTS
# BEGIN_LAYOUT_DEFINITION # BEGIN_LAYOUT_DEFINITION
enabled_layouts grid, stack, splits:split_axis=auto, fat:bias=50;full_size=1;mirrored=false, tall:bias=50;full_size=1;mirrored=false enabled_layouts splits:split_axis=auto, grid, stack, fat:bias=50;full_size=1;mirrored=false, tall:bias=50;full_size=1;mirrored=false
# END_LAYOUT_DEFINITION # END_LAYOUT_DEFINITION

View File

@@ -1,22 +1,25 @@
# BEGIN_KITTY_THEME # BEGIN_KITTY_THEME
# One Half Dark # Everforest Dark Hard
include current-theme.conf include current-theme.conf
# END_KITTY_THEME # END_KITTY_THEME
# BEGIN_COLOR_SCHEME # BEGIN_COLOR_SCHEME
background #1e1e1e # background #1e1e1e
#background_opacity 0.4 # ↓↓same as nvim Everforest↓↓
background_blur 1 background #2D353B
background_tint 1.0 # ↑↑----------↑↑
transparent_background_colors #22262D #2D313B #303030 #000 background_opacity 0.25
background_blur 0
background_tint 0.0
transparent_background_colors #22262D #2D313B #303030 #000 #2D353B #343F44
# neovim backgrounds with Everforest theme: #2D353B #343F44
# END_COLOR_SCHEME # END_COLOR_SCHEME
# BEGIN_KITTY_FONTS # BEGIN_KITTY_FONTS
font_family family='Hurmit Nerd Font' style=Light font_family family="Monofur Nerd Font"
bold_font auto bold_font auto
italic_font family='Hurmit Nerd Font' style='Light Italic' italic_font auto
bold_italic_font auto bold_italic_font auto
font_size 13.0
# END_KITTY_FONTS # END_KITTY_FONTS
# BEGIN_SCROLLBACK # BEGIN_SCROLLBACK
@@ -34,13 +37,11 @@ tab_bar_style powerline
tab_powerline_style slanted tab_powerline_style slanted
tab_title_template "{index} {title}" tab_title_template "{index} {title}"
tab_title_max_length 20 tab_title_max_length 20
# active_tab_background #1e1e1e
active_tab_background #1e1e1e # active_tab_foreground #b4cdbe
active_tab_foreground #b4cdbe
# active_tab_font_style Light # active_tab_font_style Light
# inactive_tab_background #1e1e1e
inactive_tab_background #1e1e1e # inactive_tab_foreground #48736e
inactive_tab_foreground #48736e
inactive_tab_font_style Light inactive_tab_font_style Light
# END_TAB_BAR # END_TAB_BAR
@@ -51,6 +52,7 @@ repaint_delay 8
# BEGIN_KEYBOARD_SHORTCUTS # BEGIN_KEYBOARD_SHORTCUTS
## BEGIN_WINDOW_MANAGEMENT ## BEGIN_WINDOW_MANAGEMENT
map ctrl+shift+enter new_window map ctrl+shift+enter new_window
map ctrl+alt+enter launch --cwd=current
map ctrl+alt+1 goto_tab 1 map ctrl+alt+1 goto_tab 1
map ctrl+alt+2 goto_tab 2 map ctrl+alt+2 goto_tab 2
map ctrl+alt+3 goto_tab 3 map ctrl+alt+3 goto_tab 3
@@ -65,9 +67,9 @@ map ctrl+alt+9 goto_tab 9
map ctrl+alt+t goto_layout tall map ctrl+alt+t goto_layout tall
map ctrl+alt+s goto_layout wide map ctrl+alt+s goto_layout wide
map ctrl+alt+p last_used_layout map ctrl+alt+p last_used_layout
map ctrl+alt+z toggle_layout stack map alt+z toggle_layout stack
# END_KEYBOARD_SHORTCUTS # END_KEYBOARD_SHORTCUTS
# BEGIN_LAYOUT_DEFINITION # BEGIN_LAYOUT_DEFINITION
enabled_layouts tall:bias=50;full_size=1;mirrored=false, grid, fat:bias=50;full_size=1;mirrored=false , stack, splits:split_axis=auto enabled_layouts splits:split_axis=auto, grid, stack, fat:bias=50;full_size=1;mirrored=false, tall:bias=50;full_size=1;mirrored=false
# END_LAYOUT_DEFINITION # END_LAYOUT_DEFINITION

View File

@@ -0,0 +1,6 @@
[font]
normal = 'Hurmit Nerd Font'
size = 13.0
[font.italic]
family = 'Hurmit Nerd Font'
style = 'Light Italic'

View File

@@ -222,8 +222,6 @@ $env.config = {
} }
filesize: { filesize: {
metric: true # true => KB, MB, GB (ISO standard), false => KiB, MiB, GiB (Windows standard)
format: "auto" # b, kb, kib, mb, mib, gb, gib, tb, tib, pb, pib, eb, eib, auto
} }
cursor_shape: { cursor_shape: {

View File

@@ -1,27 +1,27 @@
{ {
"LuaSnip": { "branch": "master", "commit": "954c81b53989097faaff0fabc11c29575288c3e1" }, "LuaSnip": { "branch": "master", "commit": "eda5be8f0ce9816278671f0b578cdbb8b762c701" },
"arshamiser.nvim": { "branch": "master", "commit": "13af62f49e5c906589aba48b338267c9ef6e2a8e" }, "arshamiser.nvim": { "branch": "master", "commit": "cde6378321186257b6de65913d1b4d066b369f7d" },
"arshlib.nvim": { "branch": "master", "commit": "e76e35c927098d07445c72e9416cce243f6aae59" }, "arshlib.nvim": { "branch": "master", "commit": "111fd439268adda206a24b133096893869a50764" },
"cmp-nvim-lsp": { "branch": "main", "commit": "5af77f54de1b16c34b23cba810150689a3a90312" }, "cmp-nvim-lsp": { "branch": "main", "commit": "a8912b88ce488f411177fc8aed358b04dc246d7b" },
"feline.nvim": { "branch": "master", "commit": "3587f57480b88e8009df7b36dc84e9c7ff8f2c49" }, "feline.nvim": { "branch": "master", "commit": "3587f57480b88e8009df7b36dc84e9c7ff8f2c49" },
"fzf-lua": { "branch": "main", "commit": "46b5be64aa9e7b1cf7d9c29a0e80f7f9a2250007" }, "fzf-lua": { "branch": "main", "commit": "797e87a11905cb231a24b7d9baed837451b94723" },
"gitsigns.nvim": { "branch": "main", "commit": "6e05045fb1a4845fe44f5c54aafe024444c422ba" }, "gitsigns.nvim": { "branch": "main", "commit": "6e3ee68bc9f65b21a21582a3d80e270c7e4f2992" },
"heirline.nvim": { "branch": "master", "commit": "170e1b1fd7c11db00e46d802165fb277db601ae7" }, "heirline.nvim": { "branch": "master", "commit": "fae936abb5e0345b85c3a03ecf38525b0828b992" },
"lazy.nvim": { "branch": "main", "commit": "96584866b9c5e998cbae300594d0ccfd0c464627" }, "lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" },
"listish.nvim": { "branch": "master", "commit": "3bc4bb02036f3802c6428c6232633d3192ac3604" }, "listish.nvim": { "branch": "master", "commit": "3bc4bb02036f3802c6428c6232633d3192ac3604" },
"lsp-zero.nvim": { "branch": "v3.x", "commit": "b9044716e675354357ab8269ccf7bd0fcdc0991e" }, "lsp-zero.nvim": { "branch": "v3.x", "commit": "77550f2f6cbf0959ef1583d845661af075f3442b" },
"nui.nvim": { "branch": "main", "commit": "c9b4de623d19a85b353ff70d2ae9c77143abe69c" }, "nui.nvim": { "branch": "main", "commit": "de740991c12411b663994b2860f1a4fd0937c130" },
"nvim-cmp": { "branch": "main", "commit": "41d7633e4146dce1072de32cea31ee31b056a131" }, "nvim-cmp": { "branch": "main", "commit": "b5311ab3ed9c846b585c0c15b7559be131ec4be9" },
"nvim-lspconfig": { "branch": "master", "commit": "bd405e45c5fb122c16af8f87fa2dd7ab1981b243" }, "nvim-lspconfig": { "branch": "master", "commit": "d8f03bfd5b54b10352276a0ed1f2ffe9c2e0676f" },
"nvim-possession": { "branch": "main", "commit": "253e52fe26f2816acae68e7e0ced9d89adf3f85a" }, "nvim-possession": { "branch": "main", "commit": "49bc69d7dd72207973e2537d73bfd9f3c1bf2678" },
"nvim-treesitter": { "branch": "master", "commit": "b6b9ca448b7f236e2e60f8393a729902511f9db9" }, "nvim-treesitter": { "branch": "master", "commit": "42fc28ba918343ebfd5565147a42a26580579482" },
"nvim-web-devicons": { "branch": "master", "commit": "8b2e5ef9eb8a717221bd96cb8422686d65a09ed5" }, "nvim-web-devicons": { "branch": "master", "commit": "19d6211c78169e78bab372b585b6fb17ad974e82" },
"onedark.nvim": { "branch": "master", "commit": "c5476a091b0f1b4e853db91c91ff941f848a1cdd" }, "onedark.nvim": { "branch": "master", "commit": "11de4da47f3e69cb70c3ae9816bd8af166cbe121" },
"plenary.nvim": { "branch": "master", "commit": "55d9fe89e33efd26f532ef20223e5f9430c8b0c0" }, "plenary.nvim": { "branch": "master", "commit": "857c5ac632080dba10aae49dba902ce3abf91b35" },
"sqls.nvim": { "branch": "main", "commit": "4b1274b5b44c48ce784aac23747192f5d9d26207" }, "sqls.nvim": { "branch": "main", "commit": "d1bc5421ef3e8edc5101e37edbb7de6639207a09" },
"telescope.nvim": { "branch": "master", "commit": "776b509f80dd49d8205b9b0d94485568236d1192" }, "telescope.nvim": { "branch": "master", "commit": "776b509f80dd49d8205b9b0d94485568236d1192" },
"transparent.nvim": { "branch": "main", "commit": "fd35a46f4b7c1b244249266bdcb2da3814f01724" }, "transparent.nvim": { "branch": "main", "commit": "8ac59883de84e9cd1850ea25cf087031c5ba7d54" },
"undotree": { "branch": "main", "commit": "a88c8ab7f780bc14ab9356c2311c44f49213d47c" }, "undotree": { "branch": "main", "commit": "eab459ab87dd249617b5f7187bb69e614a083047" },
"vim-fugitive": { "branch": "master", "commit": "46eaf8918b347906789df296143117774e827616" }, "vim-fugitive": { "branch": "master", "commit": "593f831d6f6d779cbabb70a4d1e6b1b1936a88af" },
"wilder.nvim": { "branch": "master", "commit": "679f348dc90d80ff9ba0e7c470c40a4d038dcecf" } "wilder.nvim": { "branch": "master", "commit": "679f348dc90d80ff9ba0e7c470c40a4d038dcecf" }
} }

View File

@@ -1,42 +0,0 @@
require('gitsigns').setup {
signs = {
add = { text = '' },
change = { text = '' },
delete = { text = '_' },
topdelete = { text = '' },
changedelete = { 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`
watch_gitdir = {
follow_files = true
},
attach_to_untracked = true,
current_line_blame = false, -- Toggle with `:Gitsigns toggle_current_line_blame`
current_line_blame_opts = {
virt_text = true,
virt_text_pos = 'eol', -- 'eol' | 'overlay' | 'right_align'
delay = 1000,
ignore_whitespace = false,
virt_text_priority = 100,
},
current_line_blame_formatter = '<author>, <author_time:%Y-%m-%d> - <summary>',
sign_priority = 6,
update_debounce = 100,
status_formatter = nil, -- Use default
max_file_length = 40000, -- Disable if file is longer than this (in lines)
preview_config = {
-- Options passed to nvim_open_win
border = 'single',
style = 'minimal',
relative = 'cursor',
row = 0,
col = 1
},
yadm = {
enable = false
},
}

View File

@@ -1,38 +1,49 @@
{ {
"aerial.nvim": { "branch": "master", "commit": "4c959cf65c5420d54b24b61a77b681dcfca0bc57" },
"color-picker.nvim": { "branch": "master", "commit": "06cb5f853535dea529a523e9a0e8884cdf9eba4d" }, "color-picker.nvim": { "branch": "master", "commit": "06cb5f853535dea529a523e9a0e8884cdf9eba4d" },
"conform.nvim": { "branch": "master", "commit": "70019124aa4f2e6838be9fbd2007f6d13b27a96d" }, "conform.nvim": { "branch": "master", "commit": "04bfa5f35706410376bf7618a01fcf44e3f35b59" },
"coq.artifacts": { "branch": "artifacts", "commit": "a1ffcee295905171d87b40ee456001d45b10329b" }, "coq.artifacts": { "branch": "artifacts", "commit": "ef5f21d638ccc456cfa5b8d0ab37093cefe48c8b" },
"coq.thirdparty": { "branch": "3p", "commit": "12ce499eddf83b524e0540f6fa2e49dcaec6060c" }, "coq_nvim": { "branch": "coq", "commit": "2732cfa52fffd32d535c782f418da6fb8bf331ea" },
"coq_nvim": { "branch": "coq", "commit": "976012b0c13763a47edbd55492ba53b03b498cdd" }, "crates.nvim": { "branch": "main", "commit": "a49df0f70171adc77704eac70dd2c0d179065933" },
"crates.nvim": { "branch": "main", "commit": "bd35b13e94a292ee6e32c351e05ca2202dc9f070" }, "everforest": { "branch": "main", "commit": "8db2bd8af38ed7b1bd12baa9a28858ff92e839bf" },
"everforest-nvim": { "branch": "main", "commit": "616864c0c534b1eaf650ef913512dcde80ababfb" }, "fzf-lua": { "branch": "main", "commit": "15a6d0d8b8c13f703053be9a7d6e2f5dab581749" },
"fzf-lua": { "branch": "main", "commit": "af6ecbd7f421e7894127a9e94b40e13172fbfb13" }, "gitsigns.nvim": { "branch": "main", "commit": "6e3c66548035e50db7bd8e360a29aec6620c3641" },
"gitsigns.nvim": { "branch": "main", "commit": "68114837e81ca16d06514c3a997c9102d1b25c15" }, "lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" },
"lazy.nvim": { "branch": "main", "commit": "d8f26efd456190241afd1b0f5235fe6fdba13d4a" }, "lualine.nvim": { "branch": "master", "commit": "b8c23159c0161f4b89196f74ee3a6d02cdc3a955" },
"lualine.nvim": { "branch": "master", "commit": "2a5bae925481f999263d6f5ed8361baef8df4f83" }, "markview.nvim": { "branch": "main", "commit": "2fddeef5755f434a24bc452b0666f1ffd9882dae" },
"mason-lspconfig.nvim": { "branch": "main", "commit": "97d9f1d3ad205dece6bcafd1d71cf1507608f3c7" }, "mason-lspconfig.nvim": { "branch": "main", "commit": "1ec4da522fa49dcecee8d190efda273464dd2192" },
"mason.nvim": { "branch": "main", "commit": "e2f7f9044ec30067bc11800a9e266664b88cda22" }, "mason-nvim-dap.nvim": { "branch": "main", "commit": "86389a3dd687cfaa647b6f44731e492970034baa" },
"mini.nvim": { "branch": "main", "commit": "890db26e37bb28d8a95f05570dd0d9fa757b698b" }, "mason.nvim": { "branch": "main", "commit": "7dc4facca9702f95353d5a1f87daf23d78e31c2a" },
"noice.nvim": { "branch": "main", "commit": "eaed6cc9c06aa2013b5255349e4f26a6b17ab70f" }, "mini.nvim": { "branch": "main", "commit": "0069a71538020a77a19f4f8d5e89f066e264a6dc" },
"nui.nvim": { "branch": "main", "commit": "53e907ffe5eedebdca1cd503b00aa8692068ca46" }, "neo-tree.nvim": { "branch": "v3.x", "commit": "cea666ef965884414b1b71f6b39a537f9238bdb2" },
"noice.nvim": { "branch": "main", "commit": "0427460c2d7f673ad60eb02b35f5e9926cf67c59" },
"nui.nvim": { "branch": "main", "commit": "de740991c12411b663994b2860f1a4fd0937c130" },
"nvim-colorizer.lua": { "branch": "master", "commit": "a065833f35a3a7cc3ef137ac88b5381da2ba302e" }, "nvim-colorizer.lua": { "branch": "master", "commit": "a065833f35a3a7cc3ef137ac88b5381da2ba302e" },
"nvim-lint": { "branch": "master", "commit": "dfa45de973c3ce7bd1b9a6d346f896a68ad07e44" }, "nvim-dap": { "branch": "master", "commit": "f777d1d20ed50c2f312e286892c062d9c2f1c6fe" },
"nvim-lspconfig": { "branch": "master", "commit": "88157521e890fe7fdf18bee22438875edd6300a6" }, "nvim-dap-go": { "branch": "main", "commit": "b4421153ead5d726603b02743ea40cf26a51ed5f" },
"nvim-notify": { "branch": "master", "commit": "a3020c2cf4dfc4c4f390c4a21e84e35e46cf5d17" }, "nvim-dap-python": { "branch": "master", "commit": "261ce649d05bc455a29f9636dc03f8cdaa7e0e2c" },
"nvim-possession": { "branch": "main", "commit": "d82907c1fc40d249c6db0c01fb6c6938a0d07dee" }, "nvim-dap-ui": { "branch": "master", "commit": "cf91d5e2d07c72903d052f5207511bf7ecdb7122" },
"nvim-treesitter": { "branch": "master", "commit": "6df6e80417b58abe377c90f5e3f7fe94cf7dfc55" }, "nvim-dap-virtual-text": { "branch": "master", "commit": "fbdb48c2ed45f4a8293d0d483f7730d24467ccb6" },
"nvim-treesitter-context": { "branch": "master", "commit": "d0dd7ce5a9d0be1f28086e818e52fdc5c78975df" }, "nvim-lint": { "branch": "master", "commit": "7ef127aaede2a4d5ad8df8321e2eb4e567f29594" },
"nvim-treesitter-textobjects": { "branch": "master", "commit": "ad8f0a472148c3e0ae9851e26a722ee4e29b1595" }, "nvim-lspconfig": { "branch": "master", "commit": "d64ea08d8033543a61af35f2f23cac0f0d05f7b4" },
"nvim-web-devicons": { "branch": "master", "commit": "5740b7382429d20b6ed0bbdb0694185af9507d44" }, "nvim-nio": { "branch": "master", "commit": "21f5324bfac14e22ba26553caf69ec76ae8a7662" },
"plenary.nvim": { "branch": "master", "commit": "2d9b06177a975543726ce5c73fca176cedbffe9d" }, "nvim-notify": { "branch": "master", "commit": "397c7c1184745fca649e5104de659e6392ef5a4d" },
"smart-open.nvim": { "branch": "0.2.x", "commit": "7770b01ce4d551c143d7ec8589879320796621b9" }, "nvim-possession": { "branch": "main", "commit": "49bc69d7dd72207973e2537d73bfd9f3c1bf2678" },
"sqlite.lua": { "branch": "master", "commit": "cf482586c4f24e197375235a6e310b9b9e80ba83" }, "nvim-treesitter": { "branch": "master", "commit": "42fc28ba918343ebfd5565147a42a26580579482" },
"telescope-fzf-native.nvim": { "branch": "main", "commit": "dae2eac9d91464448b584c7949a31df8faefec56" }, "nvim-treesitter-context": { "branch": "master", "commit": "dca8726fea2c14e1ce6adbaa76a04816fbfaff61" },
"nvim-treesitter-textobjects": { "branch": "master", "commit": "71385f191ec06ffc60e80e6b0c9a9d5daed4824c" },
"nvim-web-devicons": { "branch": "master", "commit": "c2599a81ecabaae07c49ff9b45dcd032a8d90f1a" },
"plenary.nvim": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" },
"rustaceanvim": { "branch": "master", "commit": "e9c5aaba16fead831379d5f44617547a90b913c7" },
"smart-open.nvim": { "branch": "0.3.x", "commit": "e7f27218bd43de5262d3e8e3e84a135737ca6942" },
"sqlite.lua": { "branch": "master", "commit": "50092d60feb242602d7578398c6eb53b4a8ffe7b" },
"store.nvim": { "branch": "main", "commit": "1359fe210f619f8e54cb4bc5fdcc40c1edc18876" },
"telescope-fzy-native.nvim": { "branch": "master", "commit": "282f069504515eec762ab6d6c89903377252bf5b" }, "telescope-fzy-native.nvim": { "branch": "master", "commit": "282f069504515eec762ab6d6c89903377252bf5b" },
"telescope.nvim": { "branch": "master", "commit": "776b509f80dd49d8205b9b0d94485568236d1192" }, "telescope.nvim": { "branch": "master", "commit": "776b509f80dd49d8205b9b0d94485568236d1192" },
"trouble.nvim": { "branch": "main", "commit": "46cf952fc115f4c2b98d4e208ed1e2dce08c9bf6" }, "trouble.nvim": { "branch": "main", "commit": "85bedb7eb7fa331a2ccbecb9202d8abba64d37b3" },
"typr": { "branch": "main", "commit": "bdd9ef7143702851edd1dac85101e0a537056d2f" },
"undotree": { "branch": "main", "commit": "eab459ab87dd249617b5f7187bb69e614a083047" }, "undotree": { "branch": "main", "commit": "eab459ab87dd249617b5f7187bb69e614a083047" },
"which-key.nvim": { "branch": "main", "commit": "1f8d414f61e0b05958c342df9b6a4c89ce268766" }, "virtual-types.nvim": { "branch": "master", "commit": "d652ec0b1781bbb0e83dc588fb62d638006cf61e" },
"volt": { "branch": "main", "commit": "7b8c5e790120d9f08c8487dcb80692db6d2087a1" },
"which-key.nvim": { "branch": "main", "commit": "370ec46f710e058c9c1646273e6b225acf47cbed" },
"wilder.nvim": { "branch": "master", "commit": "679f348dc90d80ff9ba0e7c470c40a4d038dcecf" } "wilder.nvim": { "branch": "master", "commit": "679f348dc90d80ff9ba0e7c470c40a4d038dcecf" }
} }

View File

@@ -1,22 +1,8 @@
local wk = require("which-key") --local wk = require("which-key")
require("aerial").setup({ --require("aerial").setup({
lazy_load = true, -- wk.add({
backends = { "treesitter", "lsp", "markdown", "man" }, -- { "{", "<cmd>AerialPrev<CR>", desc = "Jump to prev Symbol" },
layout = { -- { "}", "<cmd>AerialNext<CR>", desc = "Jump to prev Symbol" },
-- max_width = {40, 0.2} means "the lesser of 40 columns or 20% of total" -- { "<leader>a", "<cmd>AerialToggle!<CR>", desc = "Toggle Outline" },
max_width = { 40, 0.2 }, -- }),
width = nil, --})
min_width = 10,
default_direction = "prefer_right",
-- Determines where the aerial window will be opened
-- edge - open aerial at the far right/left of the editor
-- window - open aerial to the right/left of the current window
placement = "edge",
resize_to_content = true,
},
wk.add({
{ "{", "<cmd>AerialPrev<CR>", desc = "Jump to prev Symbol" },
{ "}", "<cmd>AerialNext<CR>", desc = "Jump to prev Symbol" },
{ "<leader>a", "<cmd>AerialToggle!<CR>", desc = "Toggle Outline" },
}),
})

View File

@@ -1,24 +1,23 @@
local opts = { noremap = true, silent = true } -- local opts = { noremap = true, silent = true }
--
vim.keymap.set("n", "<C-c>", "<cmd>PickColor<cr>", opts) -- vim.keymap.set("n", "<C-c>", "<cmd>PickColor<cr>", opts)
vim.keymap.set("i", "<C-c>", "<cmd>PickColorInsert<cr>", opts) -- vim.keymap.set("i", "<C-c>", "<cmd>PickColorInsert<cr>", opts)
--
-- vim.keymap.set("n", "your_keymap", "<cmd>ConvertHEXandRGB<cr>", opts) -- -- vim.keymap.set("n", "your_keymap", "<cmd>ConvertHEXandRGB<cr>", opts)
-- vim.keymap.set("n", "your_keymap", "<cmd>ConvertHEXandHSL<cr>", opts) -- -- vim.keymap.set("n", "your_keymap", "<cmd>ConvertHEXandHSL<cr>", opts)
--
require("color-picker").setup({ -- for changing icons & mappings -- require("color-picker").setup({ -- for changing icons & mappings
-- ["icons"] = { "ﱢ", "" }, -- ["icons"] = { "ﱢ", "" },
-- ["icons"] = { "ﮊ", "" }, -- -- ["icons"] = { "ﮊ", "" },
-- ["icons"] = { "", "ﰕ" }, -- -- ["icons"] = { "", "ﰕ" },
-- ["icons"] = { "", "" }, -- -- ["icons"] = { "", "" },
-- ["icons"] = { "", "" }, -- -- ["icons"] = { "", "" },
["icons"] = { "", "" }, -- ["border"] = "rounded", -- none | single | double | rounded | solid | shadow
["border"] = "rounded", -- none | single | double | rounded | solid | shadow -- ["keymap"] = { -- mapping example:
["keymap"] = { -- mapping example: -- ["U"] = "<Plug>ColorPickerSlider5Decrease",
["U"] = "<Plug>ColorPickerSlider5Decrease", -- ["O"] = "<Plug>ColorPickerSlider5Increase",
["O"] = "<Plug>ColorPickerSlider5Increase", -- },
}, -- ["background_highlight_group"] = "Normal", -- default
["background_highlight_group"] = "Normal", -- default -- ["border_highlight_group"] = "FloatBorder", -- default ["text_highlight_group"] = "Normal", --default })
["border_highlight_group"] = "FloatBorder", -- default ["text_highlight_group"] = "Normal", --default }) -- })
}) -- vim.cmd([[hi FloatBorder guibg=NONE]]) -- if you don't want weird border background colors around the popup.
vim.cmd([[hi FloatBorder guibg=NONE]]) -- if you don't want weird border background colors around the popup.

View File

@@ -1,28 +0,0 @@
require("conform").setup({
vim.api.nvim_create_autocmd({ "BufWritePre", "InsertLeave" }, {
pattern = "*",
callback = function(args)
require("conform").format({ bufnr = args.buf })
end,
}),
formatters_by_ft = {
lua = { "stylua" },
rust = { "rustfmt", lsp_format = "fallback" },
-- Conform will run multiple formatters sequentially
python = { "ruff", "autopep8" },
gdscript = { "gdtoolkit" },
bash = { "shellharden" },
javascript = { "prettier" },
typescript = { "prettier" },
markdown = { "prettier" },
css = { "prettier" },
html = { "prettier" },
json = { "prettier" },
yaml = { "prettier" },
},
format_on_save = {
timeout_ms = 700,
lsp_format = "fallback",
},
log_level = vim.log.levels.DEBUG,
})

View File

@@ -0,0 +1,12 @@
require("coq_3p").setup()({
{ src = "nvimlua", short_name = "nLUA", conf_only = true },
{ src = "bc", short_name = "MATH", precision = 6 }, -- scientific calculator
{
src = "repl",
sh = "fish",
shell = { p = "perl", n = "node", g = "git", ... },
max_lines = 20,
deadline = 500,
unsafe = { "rm", "poweroff", "mv", "cp", "systemctl", "sudo", ... },
},
})

View File

@@ -1,52 +0,0 @@
local crates = require("crates")
local opts = { silent = true }
vim.keymap.set("n", "<leader>ct", crates.toggle, opts)
vim.keymap.set("n", "<leader>cr", crates.reload, opts)
vim.keymap.set("n", "<leader>cv", crates.show_versions_popup, opts)
vim.keymap.set("n", "<leader>cf", crates.show_features_popup, opts)
vim.keymap.set("n", "<leader>cd", crates.show_dependencies_popup, opts)
vim.keymap.set("n", "<leader>cu", crates.update_crate, opts)
vim.keymap.set("v", "<leader>cu", crates.update_crates, opts)
vim.keymap.set("n", "<leader>ca", crates.update_all_crates, opts)
vim.keymap.set("n", "<leader>cU", crates.upgrade_crate, opts)
vim.keymap.set("v", "<leader>cU", crates.upgrade_crates, opts)
vim.keymap.set("n", "<leader>cA", crates.upgrade_all_crates, opts)
vim.keymap.set("n", "<leader>cx", crates.expand_plain_crate_to_inline_table, opts)
vim.keymap.set("n", "<leader>cX", crates.extract_crate_into_table, opts)
vim.keymap.set("n", "<leader>cH", crates.open_homepage, opts)
vim.keymap.set("n", "<leader>cR", crates.open_repository, opts)
vim.keymap.set("n", "<leader>cD", crates.open_documentation, opts)
vim.keymap.set("n", "<leader>cC", crates.open_crates_io, opts)
local wk = require("which-key")
wk.add({
{
mode = { "n" },
{ "<leader>c", group = "crates" },
{ "<leader>cA", desc = "Upgrade all crates" },
{ "<leader>cC", desc = "Open crates.io" },
{ "<leader>cD", desc = "Open documentation" },
{ "<leader>cH", desc = "Open homepage" },
{ "<leader>cR", desc = "Open repository" },
{ "<leader>cU", desc = "Upgrade crate" },
{ "<leader>cX", desc = "Extract crate into table" },
{ "<leader>ca", desc = "Update all crates" },
{ "<leader>cd", desc = "Show dependencies popup" },
{ "<leader>cf", desc = "Show features popup" },
{ "<leader>cr", desc = "Reload" },
{ "<leader>ct", desc = "Toggle" },
{ "<leader>cu", desc = "Update crate" },
{ "<leader>cv", desc = "Show versions popup" },
{ "<leader>cx", desc = "Expand plain crate to inline table" },
},
{
mode = { "v" },
{ "<leader>cu", desc = "Update crates" },
{ "<leader>cU", desc = "Upgrade crates" },
},
})

View File

@@ -0,0 +1,4 @@
vim.api.nvim_create_autocmd({ "BufNewFile", "BufRead", "BufEnter" }, {
pattern = { "*.r", "*.R" },
command = "set ts=2 sw=2 noet",
})

View File

@@ -1,39 +0,0 @@
require('gitsigns').setup {
signs = {
add = { text = '' },
change = { text = '' },
delete = { text = '_' },
topdelete = { text = '' },
changedelete = { text = '~' },
untracked = { text = '' },
},
signcolumn = true, -- Toggle with `:Gitsigns toggle_signs`
numhl = true, -- 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
},
attach_to_untracked = true,
current_line_blame = true, -- Toggle with `:Gitsigns toggle_current_line_blame`
current_line_blame_opts = {
virt_text = true,
virt_text_pos = 'eol', -- 'eol' | 'overlay' | 'right_align'
delay = 150,
ignore_whitespace = false,
virt_text_priority = 100,
},
current_line_blame_formatter = '<author>, <author_time:%Y-%m-%d> - <summary>',
sign_priority = 6,
update_debounce = 100,
status_formatter = nil, -- Use default
max_file_length = 40000, -- Disable if file is longer than this (in lines)
preview_config = {
-- Options passed to nvim_open_win
border = 'single',
style = 'minimal',
relative = 'cursor',
row = 0,
col = 1
},
}

View File

@@ -0,0 +1,22 @@
-- this file exists so that neovim listens for server automatically
-- when running in godot folder
--
-- paths to check for project.godot file
local paths_to_check = { "/", "/../" }
local is_godot_project = false
local godot_project_path = ""
local cwd = vim.fn.getcwd()
-- iterate over paths and check
for key, value in pairs(paths_to_check) do
if vim.uv.fs_stat(cwd .. value .. "project.godot") then
is_godot_project = true
godot_project_path = cwd .. value
break
end
end
-- check if server is already running in godot project path
local is_server_running = vim.uv.fs_stat(godot_project_path .. "/server.pipe")
-- start server, if not already running
if is_godot_project and not is_server_running then vim.fn.serverstart(godot_project_path .. "/server.pipe") end

View File

@@ -1,37 +1,15 @@
require("plug_init.vim_init") require("plug_init.vim_init")
require("plug_init.lazy_path") require("plug_init.lazy_path")
require("lazy").setup("plugins") require("lazy").setup("plugins")
--require("onedarkpro").setup({
-- filetypes = { require("plug_init.ft_autocmds")
-- all = true }, options = {
-- transparency = true
-- }
--})
--require("onedarkpro").load()
require("everforest").load()
require("plug_init.which_key_init")
require("plug_init.lualine_init")
require("plug_init.aerial_init")
require("plug_init.wilder_init")
require("plug_init.telescope_init")
require("plug_init.smart-open_init")
require("plug_init.gitsigns")
require("plug_init.mini_init")
require("plug_init.nvim_possession_init")
require("plug_init.treesitter_init")
require("plug_init.conform_init")
require("plug_init.crates_init")
require("plug_init.color-picker_init")
require("plug_init.lsp_init") require("plug_init.lsp_init")
--require("plug_init.noice_init") --require("plug_init.which_key_init")
require("plugins.lsp_config") require("plug_init.wilder_init")
require("plugins.coq_nvim") require("plug_init.mini_init")
require("plugins.trouble") require("everforest").load()
require("colorizer").setup({ require("plug_init.godot_editor")
"css",
"scss", --require("plug_init.color-picker_init")
"javascript",
html = { --require("plug_init.neovide_conf")
mode = "foreground",
},
})

View File

@@ -1,64 +1,70 @@
vim.api.nvim_create_autocmd("LspAttach", { -- vim.api.nvim_create_autocmd("LspAttach", {
group = vim.api.nvim_create_augroup("UserLspConfig", {}), -- group = vim.api.nvim_create_augroup("UserLspConfig", {}),
callback = function(ev) -- callback = function(ev)
-- integrated by default now? -- -- Enable completion triggered by <c-x><c-o>
-- vim.keymap.set('n', '[d', vim.diagnostic.goto_prev) -- vim.bo[ev.buf].omnifunc = "v:lua.vim.lsp.omnifunc"
-- vim.keymap.set('n', "]d", vim.diagnostic.goto_next) -- vim.keymap.set("n", "[d", vim.diagnostic.goto_prev)
-- vim.keymap.set('n', 'gD', vim.lsp.buf.declaration, opts) -- vim.keymap.set("n", "]d", vim.diagnostic.goto_next)
--vim.keymap.set('n', 'gd', vim.lsp.buf.definition, opts) -- vim.keymap.set("n", "<leader>le", vim.diagnostic.open_float)
--vim.keymap.set('n', '<leader>K', vim.lsp.buf.hover, opts) -- vim.keymap.set("n", "gD", vim.lsp.buf.declaration, opts)
-- -- vim.keymap.set("n", "gd", vim.lsp.buf.definition, opts)
--vim.keymap.set('n', '<leader>wa', vim.lsp.buf.add_workspace_folder, opts) -- vim.keymap.set("n", "<leader>K", vim.lsp.buf.hover, opts)
--vim.keymap.set('n', '<leader>wr', vim.lsp.buf.remove_workspace_folder, opts) -- vim.keymap.set("n", "<leader>wa", vim.lsp.buf.add_workspace_folder, opts)
-- vim.keymap.set("n", "<leader>wr", vim.lsp.buf.remove_workspace_folder, opts)
-- vim.keymap.set("n", "<leader>f", function() vim.lsp.buf.format({ async = true }) end, opts)
-- end,
-- })
-- vim.keymap.set("n", "<leader>rr", vim.lsp.buf.rename, opts) -- put this in lsp_config
-- vim.keymap.set("n", "<leader>le", vim.diagnostic.open_float) -- require("mason").setup({})
-- vim.keymap.set("n", "<leader>i", function()
-- require("conform").format({ async = true })
-- -- vim.lsp.buf.format { async = true } -- fallback if without conform
-- end, opts)
end,
})
require("lspconfig").rust_analyzer.setup({ -- require("lint").linters_by_ft = {
settings = { -- cpp = { "cpplint" },
["rust-analyzer"] = { -- gdscript = { "gdtoolkit" },
imports = { -- gitcommit = { "commitlint" },
granularity = { -- lua = { "ast-grep" },
group = "module", -- fish = { "fish_lsp" },
}, -- markdown = {},
prefix = "self", -- sql = { "sqruff" },
}, -- python = { "ruff" },
cargo = { -- r = { "r-languageserver" },
buildScripts = { -- javascript = { "eslint" },
enable = true, -- typescript = { "eslint" },
}, -- }
}, --
procMacro = { -- require("lint").config = function()
enable = true, -- local lint = require("lint")
}, -- vim.api.nvim_create_autocmd({ "BufEnter", "BufWritePost", "InsertLeave" }, {
}, -- callback = function() lint.try_lint() end,
}, -- })
}) -- end
require("mason").setup({})
require("mason-lspconfig").setup({
-- Replace the language servers listed here
-- with the ones you want to install
ensure_installed = { "rust_analyzer", "ruff", "quick_lint_js", "html", "cssls", "lua_ls", "vimls" },
})
require("lint").linters_by_ft = { -- virtual text (not doing anything?)
cpp = { "cpplint" }, -- vim.lsp.handlers["textDocument/publishDiagnostic"] = vim.lsp.with(vim.lsp.diagnostic.on_publish_diagnostics, {
gdscript = { "gdtoolkit" }, -- virtual_text = true,
gitcommit = { "commitlint" }, -- })
markdown = {},
python = { "ruff" }, -- local on_attach = function(client, bufnr)
} -- --- Only Neovim 0.7
require("lint").config = function() -- if client.resolved_capabilities.code_lens then
local lint = require("lint") -- local codelens = vim.api.nvim_create_augroup(
vim.api.nvim_create_autocmd({ "BufEnter", "BufWritePost", "InsertLeave" }, { -- 'LSPCodeLens',
callback = function() -- { clear = true }
lint.try_lint() -- )
end, -- vim.api.nvim_create_autocmd({ 'BufEnter' }, {
}) -- group = codelens,
end -- callback = function()
-- vim.lsp.codelens.refresh()
-- end,
-- buffer = bufnr,
-- once = true,
-- })
-- vim.api.nvim_create_autocmd({ 'BufWritePost', 'CursorHold' }, {
-- group = codelens,
-- callback = function()
-- vim.lsp.codelens.refresh()
-- end,
-- buffer = bufnr,
-- })
-- end
-- end

View File

@@ -1,96 +0,0 @@
require('lualine').setup {
options = {
icons_enabled = true,
theme = 'everforest',
component_separators = { left = '', right = '' },
--component_separators = { left = '', right = '' },
section_separators = { left = '', right = '' },
disabled_filetypes = {
statusline = {},
winbar = {},
},
ignore_focus = {},
always_divide_middle = false,
globalstatus = true,
refresh = {
statusline = 200,
tabline = 200,
winbar = 20000,
},
symbols = {
modified = '', -- Text to show when the buffer is modified
alternate_file = '#', -- Text to show to identify the alternate file
directory = '', -- Text to show when the buffer is a directory
},
},
sections = {
lualine_a = { 'mode' },
lualine_b = { 'branch', 'diff', 'diagnostics' },
lualine_c = {
-- {
-- require("noice").api.status.mode.get,
-- cond = require("noice").api.status.mode.has,
-- color = { fg = "#ff9e64" },
-- },
-- {
-- require("noice").api.status.search.get,
-- cond = require("noice").api.status.search.has,
-- color = { fg = "#ff9e64" },
-- },
'pwd',
'filename',
},
lualine_x = {
{
require("noice").api.status.command.get,
cond = require("noice").api.status.command.has,
color = { fg = "#ff9e64" },
},
{
require("noice").api.statusline.mode.get,
cond = require("noice").api.statusline.mode.has,
color = { fg = "#ff9e64" },
},
{
require("noice").api.status.search.get,
cond = require("noice").api.status.search.has,
color = { fg = "#ff9e64" },
},
'filesize',
'filetype',
'require"lsp-status".status()'
},
lualine_y = { 'searchcount', 'progress' },
lualine_z = { 'selectioncount', 'location' },
},
inactive_sections = {
lualine_a = {},
lualine_b = {},
lualine_c = { 'filename' },
lualine_d = {},
lualine_x = { 'filesize', 'filetype' },
lualine_y = { 'location' },
lualine_z = {},
},
tabline = {
lualine_a = {
{
'tabs',
mode = 2,
path = 1,
max_length = 320,
tab_max_length = 40,
use_mode_colors = true,
},
},
lualine_b = {},
lualine_c = {},
lualine_d = {},
lualine_x = {},
lualine_y = { { 'datetime', style = "%H:%M" } },
lualine_z = {},
},
winbar = {},
inactive_winbar = {},
extensions = {}
}

View File

@@ -1,14 +1,35 @@
require("mini.surround").setup({}) --surround strings with objects in one go (parens etc.) -- require("mini.pairs").setup() --put down parens etc in pairs
require("mini.pairs").setup({}) --put down parens etc in pairs require("mini.ai").setup() --selection with textobjects, such as "indside quotes, parens etc"
require("mini.ai").setup({}) --selection with textobjects, such as "indside quotes, parens etc" require("mini.bracketed").setup() -- move to textobjects with brackets
require("mini.bracketed").setup({}) -- move to textobjects with brackets --require("mini.jump2d").setup() -- jump to any point with Enter+ 2 letters in 2d matrix
require("mini.jump2d").setup({}) -- jump to any point with Enter+ 2 letters in 2d matrix require("mini.files").setup() -- floating file manager in vim editor style
require("mini.files").setup({}) -- floating file manager in vim editor style require("mini.comment").setup() -- block comments etc
require("mini.comment").setup({}) -- block comments etc -- require("mini.jump").setup() -- extend f F t T to work over multiple lines and be repeated
-- sugar ↓↓↓↓↓↓ -- sugar ↓↓↓↓↓↓
require("mini.indentscope").setup({}) -- show indent scope require("mini.indentscope").setup() -- show indent scope
require("mini.cursorword").setup() -- highlight identical words
-- complicated ↓↓↓↓↓↓
require("mini.operators").setup()
-- potentially interesting -- potentially interesting
--require("mini.align").setup({}) -- split lines in multiple sections, align these to rules, look into it more --require("mini.align").setup({}) -- split lines in multiple sections, align these to rules, look into it more
--require("mini.git").setup({}) -- git shortcuts, but collisions with gitsigns --require("mini.git").setup({}) -- git shortcuts, but collisions with gitsigns
--require("mini.hipatterns").setup({}) -- highlight keywords and colors
-- not working by default
vim.o.timeoutlen = 500
require("mini.surround").setup()
-- mappings = {
-- add = 'sa', -- Add surrounding in Normal and Visual modes
-- delete = 'sd', -- Delete surrounding
-- find = 'sf', -- Find surrounding (to the right)
-- find_left = 'sF', -- Find surrounding (to the left)
-- highlight = 'sh', -- Highlight surrounding
-- replace = 'sr', -- Replace surrounding
-- update_n_lines = 'sn', -- Update `n_lines`
--
-- suffix_last = 'l', -- Suffix to search with "prev" method
-- suffix_next = 'n', -- Suffix to search with "next" method
-- },

View File

@@ -0,0 +1,12 @@
vim.g.neovide_refresh_rate = 60
vim.g.neovide_refresh_rate_idle = 5
vim.g.neovide_no_idle = false
vim.g.neovide_cursor_trail_size = 0.5
vim.g.neovide_cursor_animation_length = 0.05
vim.g.neovide_cursor_unfocused_outline_width = 0.1
vim.g.neovide_cursor_vfx_mode = "railgun" -- pixiedust, railgun, ripple, sonicboom, torpedo, wireframe
vim.g.neovide_cursor_vfx_particle_speed = 40.0
vim.g.neovide_cursor_vfx_particle_phase = 1.5 -- mass of particles, only railgun
vim.g.neovide_cursor_vfx_particle_curl = 1.0 -- rotation of particles, only railgun
vim.g.neovide_cursor_vfx_particle_lifetime = 1.0
vim.g.neovide_cursor_vfx_particle_density = 10

View File

@@ -1,41 +0,0 @@
require("noice").setup({
{
cmdline = {
enabled = true, -- enables the Noice cmdline UI
view = "cmdline", -- view for rendering the cmdline. Change to `cmdline` to get a classic cmdline at the bottom
opts = {}, -- global options for the cmdline. See section on views
---@type table<string, CmdlineFormat>
format = {
-- conceal: (default=true) This will hide the text in the cmdline that matches the pattern.
-- view: (default is cmdline view)
-- opts: any options passed to the view
-- icon_hl_group: optional hl_group for the icon
-- title: set to anything or empty string to hide
cmdline = { pattern = "^:", icon = "", lang = "vim" },
search_down = { kind = "search", pattern = "^/", icon = " ", lang = "regex" },
search_up = { kind = "search", pattern = "^%?", icon = " ", lang = "regex" },
filter = { pattern = "^:%s*!", icon = "$", lang = "bash" },
lua = { pattern = { "^:%s*lua%s+", "^:%s*lua%s*=%s*", "^:%s*=%s*" }, icon = "", lang = "lua" },
help = { pattern = "^:%s*he?l?p?%s+", icon = "" },
input = { view = "cmdline_input", icon = "󰥻 " }, -- Used by input()
-- lua = false, -- to disable a format, set to `false`
},
},
},
-- lsp = {
-- override markdown rendering so that **cmp** and other plugins use **Treesitter**
-- override = {
-- ["vim.lsp.util.convert_input_to_markdown_lines"] = true,
-- ["vim.lsp.util.stylize_markdown"] = true,
-- ["cmp.entry.get_documentation"] = true, -- requires hrsh7th/nvim-cmp
-- },
-- },
-- you can enable a preset for easier configuration
--presets = {
--bottom_search = cmdline, -- use a classic bottom cmdline for search
--command_palette = true, -- position the cmdline and popupmenu together
--long_message_to_split = true, -- long messages will be sent to a split
--inc_rename = false, -- enables an input dialog for inc-rename.nvim
--lsp_doc_border = false, -- add a border to hover docs and signature help
--},
})

View File

@@ -1,21 +0,0 @@
local possession = require("nvim-possession")
local wk = require("which-key")
require("nvim-possession").setup({
autoload = true, -- default false
autosave = true,
autoswitch = {
enable = true
},
lazy = true,
sessions = {
sessions_path = "/home/felix/.cache/nvim/sessions/"
},
wk.add({
{ "<leader>s", group="Sessions" },
{ "<leader>sl", function() possession.list() end, desc="List sesssions" },
{ "<leader>sn", function() possession.new() end, desc="Create new session" },
{ "<leader>su", function() possession.update() end, desc="Update Session" },
{ "<leader>sd", function() possession.delete() end, desc="Delete Session" },
}),
})

View File

@@ -1,9 +0,0 @@
local wk = require("which-key")
require("telescope").load_extension("smart_open")
require("smart-open").setup({
lazy = false,
wk.add({
{ "<leader><leader>", "<cmd>Telescope smart_open<cr>", desc="Smart open" },
})
})

View File

@@ -1,21 +0,0 @@
require('telescope').setup({
defaults = {
sorting_strategy = 'descending',
scroll_strategy = 'limit',
scroll_speed = 7,
layout_strategy = 'vertical',
layout_config = {
prompt_position = 'top',
preview_cutoff = 0,
horizontal = {
height = 0.9,
},
vertical = {
prompt_position = 'top',
height = 0.9,
width = 0.8,
mirror = true,
},
},
},
})

View File

@@ -1,15 +0,0 @@
require('treesitter-context').setup{
enable = true, -- Enable this plugin (Can be enabled/disabled later via commands)
max_lines = 4, -- How many lines the window should span. Values <= 0 mean no limit.
min_window_height = 35, -- Minimum editor window height to enable context. Values <= 0 mean no limit.
line_numbers = true,
lazy = true,
multiline_threshold = 4, -- Maximum number of lines to show for a single context
trim_scope = 'outer', -- Which context lines to discard if `max_lines` is exceeded. Choices: 'inner', 'outer'
mode = 'topline', -- Line used to calculate context. Choices: 'cursor', 'topline'.
-- Separator between context and content. Should be a single character string, like '-'.
-- When separator is set, the context will only show up when there are at least 2 lines above cursorline.
separator = '',
zindex = 20, -- The Z-index of the context window
on_attach = nil, -- (fun(buf: integer): boolean) return false to disable attaching
}

View File

@@ -1,21 +0,0 @@
require("nvim-treesitter.configs").setup {
sync_install = false,
auto_install = true,
highlight = {
enable = true,
additional_vim_regex_highlighting = false,
},
indent = {
enable = true,
},
ensure_installed = {
"html",
"javascript",
"lua",
"php",
"python",
"rust",
"typescript",
"vim",
},
}

View File

@@ -1,31 +1,33 @@
vim.opt.compatible = false vim.o.compatible = false
vim.opt.showmatch = true vim.o.showmatch = true
vim.opt.hlsearch = true vim.o.hlsearch = true
vim.opt.incsearch = false vim.o.smartcase = true
vim.opt.tabstop = 4 vim.o.incsearch = false
vim.opt.softtabstop = -1 -- use shiftwidth value vim.o.tabstop = 4
vim.opt.expandtab = false -- tabs not spaces vim.o.softtabstop = -1 -- use shiftwidth value
vim.opt.shiftwidth = 4 -- vim.o.expandtab = false -- tabs not spaces -- leaving it out for auto?
vim.opt.autoindent = true vim.o.shiftwidth = 4
vim.opt.relativenumber = true vim.o.autoindent = true
vim.opt.number = true vim.o.relativenumber = true
vim.opt.wildmode = "longest,list" vim.o.number = true
vim.opt.cursorline = true vim.o.wildmode = "longest,list"
vim.opt.ttyfast = true vim.o.cursorline = true
vim.opt.scrolloff = 5 vim.o.listchars = "tab: >,lead:·,trail:-,nbsp:+,multispace:•"
vim.opt.wrap = false vim.o.ttyfast = true
vim.opt.mouse = "" vim.o.scrolloff = 5
vim.opt.termguicolors = true -- enable truecolor vim.o.wrap = false
vim.opt.undofile = true vim.o.mouse = ""
vim.opt.undodir = os.getenv("HOME") .. "/.local/share/nvim/undodir" vim.o.termguicolors = true -- enable truecolor
vim.opt.updatetime = 30 vim.o.undofile = true
vim.opt.colorcolumn = "79" vim.o.undodir = os.getenv("HOME") .. "/.local/share/nvim/undodir"
vim.opt.cmdheight = 0 -- remove the last interface line under statusline vim.o.updatetime = 30
vim.opt.showmode = false -- stop noice from showing mode, lualine will show mode anyway vim.o.colorcolumn = "79"
vim.o.cmdheight = 0 -- remove the last interface line under statusline
vim.o.showmode = false -- stop noice from showing mode, lualine will show mode anyway
--- ---
vim.g.netrw_preview = 1 vim.g.netrw_preview = 1
vim.g.netrw_liststyle = 3 vim.g.netrw_liststyle = 3
vim.g.netrw_winsize = 25 vim.g.netrw_winsize = 20
-- --
--These will: --These will:
-- --
@@ -51,3 +53,5 @@ vim.keymap.set("n", "<leader>Y", '"+Y')
-- open side panel explorer -- open side panel explorer
--vim.keymap.set("n", "<leader>e", ":Lexplore<CR>") -- now via whichkey --vim.keymap.set("n", "<leader>e", ":Lexplore<CR>") -- now via whichkey
--
--highlights

View File

@@ -1,25 +1,31 @@
local wk = require("which-key") --local wk = require("which-key")
wk.add({ wk.add({
{ "<leader>c", group = "crates" }, { "<leader>c", group = "crates" },
{ "<leader>cA", desc = "Upgrade all crates" }, { "<leader>cA", function() require("crates").upgrade_all_crates() end, desc = "Upgrade all crates" },
{ "<leader>cC", desc = "Open crates.io" }, { "<leader>cC", function() require("crates").open_creates_io() end, desc = "Open crates.io" },
{ "<leader>cD", desc = "Open documentation" }, { "<leader>cD", function() require("crates").open_documentation() end, desc = "Open documentation" },
{ "<leader>cH", desc = "Open homepage" }, { "<leader>cH", function() require("crates").open_homepage() end, desc = "Open homepage" },
{ "<leader>cR", desc = "Open repository" }, { "<leader>cR", function() require("crates").open_repository() end, desc = "Open repository" },
{ "<leader>cU", desc = "Upgrade crate" }, { "<leader>cU", function() require("crates").upgrade_crate() end, desc = "Upgrade crate" },
{ "<leader>cX", desc = "Extract crate into table" }, { "<leader>cX", function() require("crates").extract_crate_into_table() end, desc = "Extract crate into table" },
{ "<leader>ca", desc = "Update all crates" }, { "<leader>ca", function() require("crates").update_all_crates() end, desc = "Update all crates" },
{ "<leader>cd", desc = "Show dependencies popup" }, { "<leader>cd", function() require("crates").show_dependencies_popup() end, desc = "Show dependencies popup" },
{ "<leader>cf", desc = "Show features popup" }, { "<leader>cf", function() require("crates").show_features_popup() end, desc = "Show features popup" },
{ "<leader>cr", desc = "Reload" }, { "<leader>cr", function() require("crates").reload() end, desc = "Reload" },
{ "<leader>ct", desc = "Toggle" }, { "<leader>ct", function() require("crates").toggle() end, desc = "Toggle" },
{ "<leader>cu", desc = "Update crate" }, { "<leader>cu", function() require("crates").update_crate() end, desc = "Update crate" },
{ "<leader>cv", desc = "Show versions popup" }, { "<leader>cv", function() require("crates").show_versions_popup() end, desc = "Show versions popup" },
{ "<leader>cx", desc = "Expand plain crate to inline table" }, {
"<leader>cx",
function() require("crates").expand_plain_crate_to_inline_table() end,
desc = "Expand plain crate to inline table",
},
{ "<leader>lp", "<cmd>Lazy profile<cr>", desc = "show Lazy profiler" },
--{ "<leader>e", "<cmd>Lexplore<cr>", desc = "Files Sidebar" },
{ "<leader>e", "<cmd>lua MiniFiles.open()<cr>", desc = "Files w/ Mini" }, { "<leader>e", "<cmd>lua MiniFiles.open()<cr>", desc = "Files w/ Mini" },
{ "<leader>E", "<cmd>Lexplore<cr>", desc = "Files Sidebar" },
{ "<leader>f", group = "Telescope" }, { "<leader>f", group = "Telescope" },
{ "<leader>fb", "<cmd>Telescope buffers<cr>", desc = "Find Buffer" }, { "<leader>fb", "<cmd>Telescope buffers<cr>", desc = "Find Buffer" },
{ "<leader>fd", "<cmd>Telescope lsp_document_symbols<cr>", desc = "Find LSP Symbols" }, { "<leader>fd", "<cmd>Telescope lsp_document_symbols<cr>", desc = "Find LSP Symbols" },
@@ -28,41 +34,76 @@ wk.add({
{ "<leader>fr", "<cmd>Telescope oldfiles<cr>", desc = "Open Recent File", remap = true }, { "<leader>fr", "<cmd>Telescope oldfiles<cr>", desc = "Open Recent File", remap = true },
{ "<leader>fs", "<cmd>Telescope live_grep<cr>", desc = "Live Grep" }, { "<leader>fs", "<cmd>Telescope live_grep<cr>", desc = "Live Grep" },
{ "<leader>fw", "<cmd>Telescope grep_string<cr>", desc = "Find string under cursor" }, { "<leader>fw", "<cmd>Telescope grep_string<cr>", desc = "Find string under cursor" },
{
"<leader><leader>",
function() require("telescope").extensions.smart_open.smart_open() end,
mode = "n",
silent = true,
desc = "Smart open",
},
{ "<leader>g", group = "Gitsigns" }, { "<leader>g", group = "Gitsigns" },
{ "<leader>gB", "<cmd>Gitsigns blame<cr>", desc = "Toggle Blame Sidebar" }, { "<leader>gB", "<cmd>Gitsigns blame<cr>", desc = "Toggle Blame Sidebar" },
{ "<leader>gb", "<cmd>Gitsigns blameline<cr>", desc = "Show Blame Inline" }, { "<leader>gb", "<cmd>Gitsigns blame_line<cr>", desc = "Show Blame Inline" },
{ "<leader>gd", "<cmd>Gitsigns toggle_deleted<cr>", desc = "Toggle deleted lines" },
{ "<leader>gh", group = "hunks" }, { "<leader>gh", group = "hunks" },
{ "<leader>ghl", "<cmd>Gitsigns setloclist<cr>", desc = "List file Changes" }, { "<leader>ghl", "<cmd>Gitsigns setloclist<cr>", desc = "List file Changes" },
{ "<leader>ghn", "<cmd>Gitsigns nav_hunk<cr>", desc = "Nav Hunk" }, { "<leader>ghn", "<cmd>Gitsigns nav_hunk<cr>", desc = "Nav Hunk" },
{ "<leader>gr", group = "reset" }, { "<leader>gr", group = "reset" },
{ "<leader>grb", "<cmd>Gitsigns reset_buffer<cr>", desc = "Reset Buffer" }, { "<leader>grb", "<cmd>Gitsigns reset_buffer<cr>", desc = "Reset Buffer" },
{ "<leader>grh", "<cmd>Gitsigns reset_hunk<cr>", desc = "Reset Hunk" }, { "<leader>grh", "<cmd>Gitsigns reset_hunk<cr>", desc = "Reset Hunk" },
{ "<leader>gd", "<cmd>Gitsigns toggle_deleted<cr>", desc = "Toggle deleted lines" },
{ "<leader>gs", group = "stage" }, { "<leader>gs", group = "stage" },
{ "<leader>gsb", "<cmd>Gitsigns stage_buffer<cr>", desc = "Stage Buffer" }, { "<leader>gsb", "<cmd>Gitsigns stage_buffer<cr>", desc = "Stage Buffer" },
{ "<leader>gsh", "<cmd>Gitsigns stage_hunk<cr>", desc = "Stage Hunk" }, { "<leader>gsh", "<cmd>Gitsigns stage_hunk<cr>", desc = "Stage Hunk" },
{ "<leader>gu", "<cmd>Gitsigns undo_stage_hunk<cr>", desc = "Undo Stage Hunk" }, { "<leader>gu", "<cmd>Gitsigns undo_stage_hunk<cr>", desc = "Undo Stage Hunk" },
-- lsp and debugging
{ {
"<leader>i", "<leader>i",
function() function() require("conform").format({ async = true }) end,
require("conform").format({ async = true }) desc = "Auto format file with formatter",
end, },
desc = "Auto format file with linter(?), also on F3", {
"F3",
function() require("conform").format({ async = true }) end,
mode = "ni",
desc = "Auto format file with formatter",
}, },
{ "<leader>le", vim.diagnostic.open_float, desc = "Open diagnostic float" }, { "<leader>le", vim.diagnostic.open_float, desc = "Open diagnostic float" },
{ "<leader>K", desc = "Show definition" }, { "<leader>K", desc = "Show definition" },
-- { "<Leader>d", group = "Debugging" },
-- {
-- { mode = "n" },
-- { "<Leader>dn", require("dap").new, desc = "Start Debugger" },
-- { "<Leader>db", require("dap").toggle_breakpoint, desc = "Toggle breakpoint" },
-- { "<Leader>dc", require("dap").continue, desc = "Continue" },
-- },
-- trouble plugin
{ "<leader>xx", "<cmd>Trouble diagnostics toggle<cr>", desc = "Diagnostics (Trouble)" },
{ "<leader>xX", "<cmd>Trouble diagnostics toggle filter.buf=0<cr>", desc = "Buffer Diagnostics (Trouble)" },
{ "<leader>xs", "<cmd>Trouble symbols toggle focus=false<cr>", desc = "Symbols (Trouble)" },
{
"<leader>xl",
"<cmd>Trouble lsp toggle focus=false win.position=right<cr>",
desc = "LSP Definitions / references / ... (Trouble)",
},
{ "<leader>xL", "<cmd>Trouble loclist toggle<cr>", desc = "Location List (Trouble)" },
{ "<leader>xQ", "<cmd>Trouble qflist toggle<cr>", desc = "Quickfix List (Trouble)" },
-- QOL shortcuts
{ "<leader>n", "<cmd>nohl<cr>", desc = "Stop highlighting search results" }, { "<leader>n", "<cmd>nohl<cr>", desc = "Stop highlighting search results" },
{ "<leader>m", "<cmd>NoiceDismiss<cr>", desc = "Dismiss notifications" },
{ "<leader>M", "<cmd>Markview toggle<cr>", desc = "Markview toggle source view" },
{ "<leader>r", group = "Rename" }, { "<leader>r", group = "Rename" },
{ "<leader>rr", vim.lsp.buf.rename, opts, desc = "Rename Variable" }, { "<leader>rr", vim.lsp.buf.rename, opts, desc = "Rename Variable" },
{ "<leader>s", group = "Sessions" }, { "<leader>s", group = "Sessions" },
{ "<leader>sd", desc = "Delete Session" }, { "<leader>sl", function() require("nvim-possession").list() end, desc = "List sesssions" },
{ "<leader>sl", desc = "Load Session" }, { "<leader>sn", function() require("nvim-possession").new() end, desc = "Create new session" },
{ "<leader>sn", desc = "New Session" }, { "<leader>su", function() require("nvim-possession").update() end, desc = "Update Session" },
{ "<leader>su", desc = "Update Session" }, { "<leader>sd", function() require("nvim-possession").delete() end, desc = "Delete Session" },
{ "<leader>t", group = "tabs" }, { "<leader>t", group = "tabs" },
{ "<leader>ta", "<cmd>tabnew<cr>", desc = "Add new Tab" }, { "<leader>ta", "<cmd>tabnew<cr>", desc = "Add new Tab" },
@@ -83,9 +124,100 @@ wk.add({
{ "<leader>ww", "<cmd>WhichKey<cr>", desc = "Show keybindings" }, { "<leader>ww", "<cmd>WhichKey<cr>", desc = "Show keybindings" },
{ "<leader>y", desc = "Copy to system clipboard" }, { "<leader>y", desc = "Copy to system clipboard" },
{ "<leader>Y", desc = "Copy line to system clipboard" }, { "<leader>Y", desc = "Copy line to system clipboard" },
-- mini.nvim additions
{ "va", group = "select around" }, --{{{1 mini.ai
{ "va(", desc = "() parens" },
{ "va)", desc = "() parens" },
{ "va[", desc = "[] brackets" },
{ "va]", desc = "[] brackets" },
{ "va{", desc = "{} braces" },
{ "va}", desc = "{} braces" },
{ "va<", desc = "<> braces" },
{ "va>", desc = "<> braces" },
{ 'va"', desc = '""' },
{ "va'", desc = "''" },
{ "val", desc = "last selection" },
{ "vi", group = "select inside" },
{ "vi(", desc = "() parens" },
{ "vi)", desc = "() parens" },
{ "vi[", desc = "[] brackets" },
{ "vi]", desc = "[] brackets" },
{ "vi{", desc = "{} braces" },
{ "vi}", desc = "{} braces" },
{ "vi<", desc = "<> braces" },
{ "vi>", desc = "<> braces" },
{ 'vi"', desc = '""' },
{ "vi'", desc = "''" },
{ "vil", desc = "last selection" },
--}}}
{ "[", group = "move to prev" }, --{{{2 "brackets"
{ "[B", desc = "First Buffer" },
{ "[b", desc = "Prev Buffer" },
{ "[X", desc = "First Conflict" },
{ "[x", desc = "Prev Conflict" },
{ "[I", desc = "First Indent" },
{ "[i", desc = "Prev Indent" },
{ "[I", desc = "First Indent" },
{ "[i", desc = "Prev Indent" },
{ "[W", desc = "First Window in Tab" },
{ "[w", desc = "Prev Window in Tab" },
{ "[F", desc = "First File" },
{ "[f", desc = "Prev File" },
{ "[O", desc = "First Oldfile" },
{ "[o", desc = "Prev Oldfile" },
{ "[Q", desc = "First Quickfix" },
{ "[q", desc = "Prev Quickfix" },
{ "[Y", desc = "First Yank selection replacing latest put region" },
{ "[y", desc = "Prev Yank selection replacing latest put region" },
{ "]", group = "move next" },
{ "]B", desc = "Last Buffer" },
{ "]b", desc = "Next Buffer" },
{ "]X", desc = "Last Conflict" },
{ "]x", desc = "Next Conflict" },
{ "]I", desc = "Last Indent" },
{ "]i", desc = "Next Indent" },
{ "]I", desc = "Last Indent" },
{ "]i", desc = "Next Indent" },
{ "]W", desc = "Last Window in Tab" },
{ "]w", desc = "Next Window in Tab" },
{ "]F", desc = "Last File" },
{ "]f", desc = "Next File" },
{ "]O", desc = "Last Oldfile" },
{ "]o", desc = "Next Oldfile" },
{ "]Q", desc = "Last Quickfix" },
{ "]q", desc = "Next Quickfix" },
{ "]Y", desc = "Last Yank selection replacing latest put region" },
{ "]y", desc = "Next Yank selection replacing latest put region" },
--}}}
{ "gcc", desc = "Comment Line" },
{
mode = { "v" },
{ "gc", group = "Comment" },
{ "g=", desc = "evaluate expression" },
{ "gm", desc = "duplicate" },
{ "gr", desc = "replace with register" },
{ "gs", desc = "sort" },
{ "gx", desc = "exchange region" },
},
}) })
wk.add({ wk.add({
-- These somehow have no effect whatsoever
-- { "c", group = "change" },
-- { "c[", group = "back" },
-- { "c]", group = "forward" },
-- { "cg", group = "jump" },
--
-- { "d", group = "delete" },
-- { "d[", group = "back" },
-- { "d]", group = "forward" },
-- { "dg", group = "jump" },
{ "K", desc = "Show definition" }, { "K", desc = "Show definition" },
{ "[", group = "jump backward" }, { "[", group = "jump backward" },
{ "[c", desc = "Previous diff change" }, { "[c", desc = "Previous diff change" },
@@ -101,3 +233,16 @@ wk.add({
{ "gi", desc = "show implementations" }, { "gi", desc = "show implementations" },
{ "gr", desc = "list all references to symbol under cursor" }, { "gr", desc = "list all references to symbol under cursor" },
}) })
function whichkeyUndotree()
wk.add({
{ "j", desc = "jump to next undo node" },
{ "gj", desc = "jump to the parent node of the node under the cursor" },
{ "k", desc = "jump to previous undo node" },
{ "J", desc = "jump to next undo node and undo to this state" },
{ "K", desc = "jump to previous undo node and undo to this state" },
{ "q", desc = "quit undotree" },
{ "p", desc = "jump into undetree diff window" },
{ "<cr>", desc = "undo to this state" },
})
end

View File

@@ -1,107 +0,0 @@
local wk = require("which-key")
local mappings = {
f = {
name = "Telescope", --optional group name
b = { "<cmd>Telescope buffers<cr>", "Find Buffer" },
f = { "<cmd>Telescope find_files<cr>", "Find File" },
s = { "<cmd>Telescope live_grep<cr>", "Live Grep" },
h = { "<cmd>Telescope help_tags<cr>", "Find Help" },
r = { "<cmd>Telescope oldfiles<cr>", "Open Recent File", noremap = false },
w = { "<cmd>Telescope grep_string<cr>", "Find string under cursor" },
d = { "<cmd>Telescope lsp_document_symbols<cr>", "Find LSP Symbols" },
-- does not work as of now: --i = { "<cmd>AdvancedGitSearch<cr>", "Git Search" },
--n = { "New File" }, --just a label, don't create any mapping
--e = "Edit File", --same as above
},
t = {
name = "tabs",
n = { "<cmd>tabnext<cr>", "Next Tab" },
p = { "<cmd>tabprevious<cr>", "Previous Tab" },
f = { "<cmd>tabfirst<cr>", "First Tab" },
l = { "<cmd>tablast<cr>", "Last Tab" },
a = { "<cmd>tabnew<cr>", "Add new Tab" },
c = { "<cmd>tabclose<cr>", "Close Tab" },
m = {
name = "Move Tab",
f = { "<cmd>tabmove 0<cr>", "Move Tab to First" },
l = { "<cmd>tabmove $<cr>", "Move Tab to Last" },
i = { ":tabmove ", "Input position to move Tab to" },
}
},
K = { "Show definition" },
u = { "Toggle undo-tree" },
i = { "Auto format file with linter(?), also on F3" },
r = {
name = "Rename",
r = { "Rename Variable" }
},
l = {
e = { "Open diagnostic float" }
},
w = {
name = "Workspaces + Whichkey",
a = { "Add workspace folder" },
r = { "Remove workspace folder" },
w = { "<cmd>WhichKey<cr>", "Show keybindings" },
},
s = {
name = "Sessions",
n = { "New Session" },
u = { "Update Session" },
d = { "Delete Session" },
l = { "Load Session" },
},
g = {
name = "Gitsigns",
b = { "<cmd>Gitsigns blameline<cr>", "Show Blame Inline" },
B = { "<cmd>Gitsigns blame<cr>", "Toggle Blame Sidebar" },
s = {
name = "stage",
h = { "<cmd>Gitsigns stage_hunk<cr>", "Stage Hunk"},
b = { "<cmd>Gitsigns stage_buffer<cr>", "Stage Buffer"},
},
h = {
name = "hunks",
l = { "<cmd>Gitsigns setloclist<cr>", "List file Changes" },
n = { "<cmd>Gitsigns nav_hunk<cr>", "Nav Hunk"},
},
r = {
name = "reset",
h = { "<cmd>Gitsigns reset_hunk<cr>", "Reset Hunk"},
b = { "<cmd>Gitsigns reset_buffer<cr>", "Reset Buffer"},
},
u = { "<cmd>Gitsigns undo_stage_hunk<cr>", "Undo Stage Hunk"},
},
n = { "<cmd>nohl<cr>", "Stop highlighting search results" },
}
local opts = {
mode = "n",
prefix = '<leader>'
}
wk.register({ mappings, opts, prefix = "<leader>" })
local mappings_leaderless = {
K = { "Show definition" },
g = {
name = "lsp functions",
d = { "go to definition" },
D = { "go to declaration" },
i = { "show implementations" },
r = { "list all references to symbol under cursor" },
},
["["] = {
name = "jump backward",
d = "Previous Diagnostic",
c = "Previous diff change",
h = { "<cmd>Gitsigns prev_hunk<cr><cr>", "Previous changed git block" },
},
["]"] = {
name = "jump forward",
d = "Next Diagnostic",
c = "Next diff change",
h = { "<cmd>Gitsigns next_hunk<cr><cr>", "Next changed git block" },
},
}
wk.register({ mappings_leaderless, opts })

View File

@@ -1,30 +1,14 @@
--- local wilder = require("wilder")
local wilder = require('wilder')
local gradient = {
'#f4468f', '#fd4a85', '#ff507a', '#ff566f', '#ff5e63',
'#ff6658', '#ff704e', '#ff7a45', '#ff843d', '#ff9036',
'#f89b31', '#efa72f', '#e6b32e', '#dcbe30', '#d2c934',
'#c8d43a', '#bfde43', '#b6e84e', '#aff05b'
}
wilder.setup({modes = {':', '/', '?'} })
wilder.set_option('pipeline', {
wilder.branch(
wilder.cmdline_pipeline({
fuzzy = 1,
}),
wilder.search_pipeline()
),
})
for i, fg in ipairs(gradient) do
gradient[i] = wilder.make_hl('WilderGradient' .. i, 'Pmenu', {{a = 1}, {a = 1}, {foreground = fg}})
end
wilder.set_option('renderer', wilder.wildmenu_renderer({ wilder.set_option(
highlights = { "renderer",
gradient = gradient, -- must be set wilder.wildmenu_renderer({
-- selected_gradient key can be set to apply gradient highlighting for the selected candidate. -- highlights = {
}, -- gradient = gradient, -- must be set
-- -- selected_gradient key can be set to apply gradient highlighting for the selected candidate.
-- },
highlighter = wilder.highlighter_with_gradient({ highlighter = wilder.highlighter_with_gradient({
wilder.basic_highlighter(), -- or wilder.lua_fzy_highlighter(), wilder.basic_highlighter(), -- or wilder.lua_fzy_highlighter(),
}), }),
})) })
)

View File

@@ -1,29 +0,0 @@
return {
"neovim/nvim-lspconfig", -- REQUIRED: for native Neovim LSP integration
lazy = false, -- REQUIRED: tell lazy.nvim to start this plugin at startup
dependencies = {
-- main one
{ "ms-jpq/coq_nvim", branch = "coq" },
-- 9000+ Snippets
{ "ms-jpq/coq.artifacts", branch = "artifacts" },
-- lua & third party sources -- See https://github.com/ms-jpq/coq.thirdparty
-- Need to **configure separately**
{ 'ms-jpq/coq.thirdparty', branch = "3p" }
-- - shell repl
-- - nvim lua api
-- - scientific calculator
-- - comment banner
-- - etc
},
init = function()
vim.g.coq_settings = {
auto_start = true, -- if you want to start COQ at startup
-- Your COQ settings here
}
end,
config = function()
-- Your LSP settings here
end,
}

View File

@@ -1,8 +0,0 @@
return {
'saecki/crates.nvim',
event = { "BufRead Cargo.toml" },
verylazy = true,
config = function()
require('crates').setup()
end,
}

View File

@@ -0,0 +1,84 @@
return {
{
"mfussenegger/nvim-dap",
lazy = true,
keys = {
{
"<leader>db",
function() require("dap").toggle_breakpoint() end,
desc = "Toggle Breakpoint",
},
{
"<leader>dc",
function() require("dap").continue() end,
desc = "Continue",
},
{
"<leader>dC",
function() require("dap").run_to_cursor() end,
desc = "Run to Cursor",
},
{
"<leader>dT",
function() require("dap").terminate() end,
desc = "Terminate",
},
},
},
{
"rcarriga/nvim-dap-ui",
config = true,
lazy = true,
keys = {
{
"<leader>du",
function() require("dapui").toggle({}) end,
desc = "Dap UI",
},
},
dependencies = {
"jay-babu/mason-nvim-dap.nvim",
"leoluz/nvim-dap-go",
"mfussenegger/nvim-dap-python",
"nvim-neotest/nvim-nio",
"theHamsta/nvim-dap-virtual-text",
},
},
-- debugging virtual text to show output
-- {
-- "theHamsta/nvim-dap-virtual-text",
-- event = "VeryLazy",
-- config = true,
-- dependencies = {
-- "mfussenegger/nvim-dap",
-- },
-- },
-- debugging languages
{
{
-- Automatically sets up LSP, so lsp.lua doesn't include rust.
-- Makes debugging work seamlessly.
"mrcjkb/rustaceanvim",
version = "^5", -- Recommended by module.
lazy = true,
ft = "rust",
dependencies = {
"mfussenegger/nvim-dap",
},
},
},
{
"mfussenegger/nvim-dap-python",
lazy = true,
ft = "python",
config = function()
local python = vim.fn.expand("~/.local/share/nvim/mason/packages/debugpy/venv/bin/python")
require("dap-python").setup(python)
end,
-- Consider the mappings at
-- https://github.com/mfussenegger/nvim-dap-python?tab=readme-ov-file#mappings
dependencies = {
"mfussenegger/nvim-dap",
},
},
}

View File

@@ -1,41 +1,256 @@
return { return {
-- LSP Support {
-- { "mason-org/mason.nvim",
-- 'VonHeikemen/lsp-zero.nvim', lazy = false,
-- branch = "v3.x", --cmd = { "Mason", "MasonInstall", "MasonUninstall", "MasonUpdate", "MasonUninstallAll", "MasonLog" },
-- lazy = true, opts = {},
-- config = false, },
-- }, {
"nvim-treesitter/nvim-treesitter",
lazy = false,
build = ":TSUpdate",
event = { "BufRead" },
opts = {
sync_install = false,
auto_install = true,
highlight = {
enable = true,
-- disable for files bigger than 500KB
disable = function(lang, buf)
local max_filesize = 500 * 1024 -- 500 KB
local ok, stats = pcall(vim.loop.fs_stat, vim.api.nvim_buf_get_name(buf))
if ok and stats and stats.size > max_filesize then return true end
end,
additional_vim_regex_highlighting = false,
},
indent = {
enable = true,
},
ensure_installed = {
"html",
"javascript",
"gdscript",
"lua",
"php",
"python",
"rust",
"typescript",
"vim",
},
},
},
{
"mason-org/mason-lspconfig.nvim",
lazy = false,
opts = {
ensure_installed = {
"rust_analyzer",
"ruff",
--"quick_lint_js",
--"eslint",
"html",
"cssls",
"gdscript",
"sqls",
"hyprls",
"lua_ls",
"ast-grep",
-- "pylyzer",
"vimls",
"ts_ls",
},
automatic_enable = { true, rust_analyzer = false },
},
config = function()
vim.api.nvim_create_autocmd("LspAttach", {
group = vim.api.nvim_create_augroup("UserLspConfig", {}),
callback = function(ev)
-- Enable completion triggered by <c-x><c-o>
vim.bo[ev.buf].omnifunc = "v:lua.vim.lsp.omnifunc"
vim.keymap.set("n", "[d", vim.diagnostic.goto_prev)
vim.keymap.set("n", "]d", vim.diagnostic.goto_next)
vim.keymap.set("n", "<leader>le", vim.diagnostic.open_float)
vim.keymap.set("n", "gD", vim.lsp.buf.declaration, opts)
vim.keymap.set("n", "gd", vim.lsp.buf.definition, opts)
vim.keymap.set("n", "<leader>K", vim.lsp.buf.hover, opts)
vim.keymap.set("n", "<leader>wa", vim.lsp.buf.add_workspace_folder, opts)
vim.keymap.set("n", "<leader>wr", vim.lsp.buf.remove_workspace_folder, opts)
vim.keymap.set("n", "<leader>f", function() vim.lsp.buf.format({ async = true }) end, opts)
end,
})
end,
},
{ {
"neovim/nvim-lspconfig", "neovim/nvim-lspconfig",
-- dependencies = { lazy = false, -- REQUIRED: tell lazy.nvim to start this plugin at startup
-- {"hrsh7th/cmp-nvim-lsp"}, dependencies = {
-- }, -- main one
lazy = true, { "ms-jpq/coq_nvim", branch = "coq", lazy = false },
-- 9000+ Snippets
{ "ms-jpq/coq.artifacts", branch = "artifacts", lazy = false },
-- lua & third party sources -- See https://github.com/ms-jpq/coq.thirdparty
-- Need to **configure separately**
--{ "ms-jpq/coq.thirdparty", branch = "3p", lazy = false },
-- - shell repl
-- - nvim lua api
-- - scientific calculator
-- - comment banner
-- - etc
}, },
{ init = function()
"williamboman/mason.nvim", vim.g.coq_settings = {
lazy = true, auto_start = true, -- if you want to start COQ at startup
-- Your COQ settings here
display = { statusline = { helo = false } }, -- disable greeting notification
}
end,
config = function()
vim.lsp.config(
"rust_analyzer",
coq.lsp_ensure_capabilities({
settings = {
["rust-analyzer"] = {
imports = {
granularity = {
group = "module",
}, },
{ prefix = "self",
"williamboman/mason-lspconfig.nvim", },
lazy = true, cargo = {
buildScripts = {
enable = true,
},
},
procMacro = {
enable = true,
},
},
},
})
)
vim.lsp.config("gdscript", coq.lsp_ensure_capabilities({}))
--vim.lsp.enable({ "lua_ls" })
vim.api.nvim_create_autocmd("LspAttach", {
group = vim.api.nvim_create_augroup("UserLspConfig", {}),
callback = function(ev)
-- Enable completion triggered by <c-x><c-o>
vim.bo[ev.buf].omnifunc = "v:lua.vim.lsp.omnifunc"
vim.keymap.set("n", "[d", vim.diagnostic.goto_prev)
vim.keymap.set("n", "]d", vim.diagnostic.goto_next)
vim.keymap.set("n", "<leader>le", vim.diagnostic.open_float)
vim.keymap.set("n", "gD", vim.lsp.buf.declaration, opts)
vim.keymap.set("n", "gd", vim.lsp.buf.definition, opts)
vim.keymap.set("n", "<leader>K", vim.lsp.buf.hover, opts)
vim.keymap.set("n", "<leader>wa", vim.lsp.buf.add_workspace_folder, opts)
vim.keymap.set("n", "<leader>wr", vim.lsp.buf.remove_workspace_folder, opts)
vim.keymap.set("n", "<leader>f", function() vim.lsp.buf.format({ async = true }) end, opts)
end,
})
end,
}, },
{ {
"mfussenegger/nvim-lint", "mfussenegger/nvim-lint",
lazy = false, event = { "BufWritePre", "InsertLeave" },
lazy = true,
opts = {
linters_by_ft = {
cpp = { "cpplint" },
gdscript = { "gdlint" },
gitcommit = { "commitlint" },
lua = { "ast-grep" },
fish = { "fish_lsp" },
markdown = {},
sql = { "sqruff" },
python = { "ruff" },
r = { "r-languageserver" },
javascript = { "eslint" },
typescript = { "eslint" },
},
},
config = function()
local lint = require("lint")
vim.api.nvim_create_autocmd({ "BufEnter", "BufWritePost", "InsertLeave" }, {
callback = function() lint.try_lint() end,
})
end,
}, },
-- supposedly faster formatter -- supposedly faster formatter
{ {
"stevearc/conform.nvim", "stevearc/conform.nvim",
opts = {}, lazy = true,
event = { "BufWritePre" },
--keys = { "<leader>i", "F3" },
opts = {
vim.api.nvim_create_autocmd({ "BufWritePost" }, {
pattern = "*",
callback = function(args) require("conform").format({ bufnr = args.buf }) end,
}),
formatters_by_ft = {
lua = { "stylua" },
rust = { "rustfmt", lsp_format = "fallback" },
-- Conform will run multiple formatters sequentially
python = { "ruff", "autopep8", lsp_format = "fallback" },
gdscript = { "gdformat" },
bash = { "shellharden" },
javascript = { "biome" },
typescript = { "biome" },
markdown = { "prettier" },
r = { "air" }, -- how to make air use tabs not spaces
css = { "ast-grep" },
html = { "ast-grep" },
-- sql = { "sqruff" },
json = { "biome" },
yaml = { "biome" },
vue = { "biome" },
},
format_on_save = {
timeout_ms = 700,
lsp_format = "fallback",
},
log_level = vim.log.levels.WARNING,
function()
require("conform").formatters.prettier = {
inherit = true,
command = "prettier",
prepend_args = { "--tab-width", "4" },
}
require("conform").formatters.biome = {
command = "biome format",
prepend_args = "--indent-width=4 --use-editorconfig=true",
}
require("lua").formatters.stylua = {
prepend = "--column-width=80",
}
end,
},
},
{ "nvim-treesitter/nvim-treesitter-textobjects", lazy = true, event = "BufRead" },
{
"nvim-treesitter/nvim-treesitter-context",
lazy = true,
event = "BufRead",
opts = {
enable = true, -- Enable this plugin (Can be enabled/disabled later via commands)
max_lines = 4, -- How many lines the window should span. Values <= 0 mean no limit.
min_window_height = 35, -- Minimum editor window height to enable context. Values <= 0 mean no limit.
line_numbers = true,
lazy = true,
multiline_threshold = 4, -- Maximum number of lines to show for a single context
trim_scope = "outer", -- Which context lines to discard if `max_lines` is exceeded. Choices: 'inner', 'outer'
mode = "topline", -- Line used to calculate context. Choices: 'cursor', 'topline'.
-- Separator between context and content. Should be a single character string, like '-'.
-- When separator is set, the context will only show up when there are at least 2 lines above cursorline.
separator = "",
zindex = 20, -- The Z-index of the context window
on_attach = nil, -- (fun(buf: integer): boolean) return false to disable attaching
},
},
{
"jubnzv/virtual-types.nvim",
lazy = false,
}, },
-- Autocompletion
-- {
-- "hrsh7th/nvim-cmp",
-- dependencies = {
-- {"L3MON4D3/LuaSnip"}
-- },
-- lazy = true,
-- },
} }

View File

@@ -0,0 +1,180 @@
return {
"nvim-lualine/lualine.nvim",
dependencies = { "nvim-tree/nvim-web-devicons" },
lazy = false,
opts = {
options = {
icons_enabled = true,
theme = "everforest",
component_separators = { left = "", right = "" },
--component_separators = { left = '', right = '' },
section_separators = { left = "", right = "" },
disabled_filetypes = {
statusline = {},
winbar = {},
},
ignore_focus = {},
always_divide_middle = false,
globalstatus = true,
refresh = {
statusline = 200,
tabline = 200,
winbar = 500,
events = {
"WinEnter",
"BufEnter",
"BufWritePost",
"SessionLoadPost",
"FileChangedShellPost",
"VimResized",
"Filetype",
"CursorMoved",
"CursorMovedI",
"ModeChanged",
},
},
symbols = {
--modified = " ●", -- Text to show when the buffer is modified
alternate_file = "#", -- Text to show to identify the alternate file
directory = "", -- Text to show when the buffer is a directory
modified = "[+]", -- Text to show when the file is modified.
readonly = "[-]", -- Text to show when the file is non-modifiable or readonly.
unnamed = "[No Name]", -- Text to show for unnamed buffers.
newfile = "[New]", -- Text to show for newly created file before first write
},
},
sections = {
lualine_a = { "mode" },
lualine_b = { "branch", "diff", "diagnostics" },
lualine_c = {
-- {
-- require("noice").api.status.mode.get,
-- cond = require("noice").api.status.mode.has,
-- color = { fg = "#ff9e64" },
-- },
-- {
-- require("noice").api.status.search.get,
-- cond = require("noice").api.status.search.has,
-- color = { fg = "#ff9e64" },
-- },
"pwd",
-- { "filename", path = 3 },
},
lualine_x = {
{
require("noice").api.status.command.get,
cond = require("noice").api.status.command.has,
color = { fg = "#ff9e64" },
},
{
require("noice").api.statusline.mode.get,
cond = require("noice").api.statusline.mode.has,
color = { fg = "#ff9e64" },
},
{
require("noice").api.status.search.get,
cond = require("noice").api.status.search.has,
color = { fg = "#ff9e64" },
},
"filesize",
{
"fileformat",
symbols = {
unix = "LF",
dos = "CRLF",
},
},
"filetype",
'require"lsp-status".status()',
},
lualine_y = { "searchcount", "progress" },
lualine_z = { "selectioncount", "location" },
},
inactive_sections = {},
tabline = {
lualine_a = {
{
"tabs",
mode = 2,
path = 1,
max_length = 320,
tab_max_length = 40,
use_mode_colors = true,
},
},
lualine_b = {},
lualine_c = {},
lualine_d = {},
lualine_x = {
{
function()
if require("nvim-possession").status then
return require("nvim-possession").status()
else
end
end,
cond = function() return require("nvim-possession").status() ~= nil end,
},
},
lualine_y = { { "datetime", style = "%H:%M" } },
lualine_z = {},
},
winbar = {
lualine_a = {},
-- 0: Just the filename
-- 1: Relative path
-- 2: Absolute path
-- 3: Absolute path, with tilde as the home directory
-- 4: Filename and parent dir, with tilde as the home directory
lualine_b = { separator = nil, { "bufnr" }, { "filename", path = 3 } },
lualine_c = {
{
"diagnostics",
-- Table of diagnostic sources, available sources are:
-- 'nvim_lsp', 'nvim_diagnostic', 'nvim_workspace_diagnostic', 'coc', 'ale', 'vim_lsp'.
-- or a function that returns a table as such:
-- { error=error_cnt, warn=warn_cnt, info=info_cnt, hint=hint_cnt }
sources = { "nvim_diagnostic", "coc" },
-- Displays diagnostics for the defined severity types
sections = { "error", "warn" },
-- sections = { "error", "warn", "info", "hint" },
diagnostics_color = {
-- Same values as the general color option can be used here.
error = "DiagnosticError", -- Changes diagnostics' error color.
warn = "DiagnosticWarn", -- Changes diagnostics' warn color.
-- info = "DiagnosticInfo", -- Changes diagnostics' info color.
-- hint = "DiagnosticHint", -- Changes diagnostics' hint color.
},
symbols = { error = "E", warn = "W", info = "I", hint = "H" },
colored = true, -- Displays diagnostics status in color if set to true.
update_in_insert = false, -- Update diagnostics in insert mode.
always_visible = false, -- Show diagnostics even if there are none.
},
},
lualine_x = {
--[["filesize", "filetype"]]
},
lualine_y = {},
lualine_z = {},
},
inactive_winbar = {
lualine_a = {},
lualine_b = {},
lualine_c = {
"bufnr",
{
"filename",
path = 4,
},
},
lualine_x = {},
lualine_y = {},
lualine_z = {},
},
extensions = {},
},
}

View File

@@ -1,9 +1,19 @@
return { return {
{ "gennaro-tedesco/nvim-possession", {
dependencies = { "gennaro-tedesco/nvim-possession",
"ibhagwan/fzf-lua",
},
lazy = true, lazy = true,
keys = { "<Leader>s" },
config = true, config = true,
opts = {
autoload = false, -- default false
autosave = true,
autoswitch = {
enable = true,
}, },
sessions = {
sessions_path = "/home/felix/.cache/nvim/sessions/",
},
},
},
{ "ibhagwan/fzf-lua", lazy = true },
} }

View File

@@ -2,57 +2,193 @@ return {
-- not deps -- not deps
--{ "xiyaowong/transparent.nvim" }, --{ "xiyaowong/transparent.nvim" },
-- { "olimorris/onedarkpro.nvim" }, -- { "olimorris/onedarkpro.nvim" },
{ "neanias/everforest-nvim" },
{ "ibhagwan/fzf-lua", lazy = true },
{ "nvim-treesitter/nvim-treesitter", build = ":TSUpdate", lazy = true },
{ "nvim-treesitter/nvim-treesitter-context", lazy = true },
{ {
"nvim-telescope/telescope.nvim", "neanias/everforest-nvim",
tag = "0.1.2", lazy = false,
dependencies = { priority = 1000,
"nvim-lua/plenary.nvim", name = "everforest",
"MunifTanjim/nui.nvim", opts = {
on_highlights = function(hl, palette)
hl.MiniCursorword = { underdotted = true }
hl.MiniCursorwordCurrent = {} -- just needs to be mentioned to override color theme default and clone MiniCursorword
end,
},
},
{
"alex-popov-tech/store.nvim",
dependencies = {
"OXY2DEV/markview.nvim", -- optional, for pretty readme preview / help window
},
cmd = "Store",
opts = {
width = 1000,
height = 500,
}, },
lazy = true,
}, },
{ {
"nvim-lualine/lualine.nvim", "nvim-lualine/lualine.nvim",
dependencies = { "nvim-tree/nvim-web-devicons" }, dependencies = { "nvim-tree/nvim-web-devicons" },
lazy = false, lazy = false,
}, },
{ "stevearc/aerial.nvim" },
{ {
"folke/noice.nvim", "folke/noice.nvim",
event = "VeryLazy", lazy = true,
opts = {}, opts = {
dependencies = { -- cmdline = {
"MunifTanjim/nui.nvim", -- view = "cmdline",
--OPTIONAL: -- },
-- `nvim-notify` is only needed, if you want to use the notification view. routes = {
-- If not available, we use `mini` as the fallback {
"rcarriga/nvim-notify", filter = {
event = "msg_show",
kind = "",
find = "written",
},
opts = { skip = true },
}, },
}, },
},
dependencies = {},
},
{ "MunifTanjim/nui.nvim", lazy = true }, -- dep of noice.nvim
{ "rcarriga/nvim-notify", lazy = true }, -- dep of noice.nvim
{ {
"echasnovski/mini.nvim", "echasnovski/mini.nvim",
lazy = true,
version = false, version = false,
}, },
{ {
"danielfalk/smart-open.nvim", "nvim-neo-tree/neo-tree.nvim",
branch = "0.2.x", branch = "v3.x",
lazy = true,
dependencies = { dependencies = {
"kkharji/sqlite.lua", "nvim-lua/plenary.nvim",
-- Only required if using match_algorithm fzf "MunifTanjim/nui.nvim",
{ "nvim-telescope/telescope-fzf-native.nvim", build = "make" }, "nvim-tree/nvim-web-devicons", -- optional, but recommended
-- Optional. If installed, native fzy will be used when match_algorithm is fzy },
{ "nvim-telescope/telescope-fzy-native.nvim" }, cmd = "Neotree",
lazy = true, -- neo-tree will lazily load itself
},
{
"gelguy/wilder.nvim",
lazy = true,
event = { "CmdlineEnter" },
opts = {
modes = { ":", "/", "?" },
}, },
}, },
{ "gelguy/wilder.nvim", lazy = true }, { "OXY2DEV/markview.nvim", lazy = true, ft = "Markdown", cmd = "Markview", event = { "BufRead *.md" } },
{ "norcalli/nvim-colorizer.lua", verylazy = true }, {
{ "ziontee113/color-picker.nvim", verylazy = true }, "norcalli/nvim-colorizer.lua",
{ "lewis6991/gitsigns.nvim", verylazy = true }, lazy = true,
-- optional event = { "BufRead" },
{ "nvim-treesitter/nvim-treesitter-textobjects", lazy = true }, opts = {
"*",
css = { rgb_fn = true, hsl_fn = true },
scss = { rgb_fn = true, hsl_fn = true },
"javascript",
"html",
},
mode = "background",
},
{
"ziontee113/color-picker.nvim",
lazy = true,
keys = {
{ "<C-c>", mode = { "n" }, "<cmd>PickColorInsert<cr>", desc = "open color widget" },
{ "<C-c>", mode = { "i" }, "<cmd>PickColor<cr>", desc = "open color widget" },
},
cmd = { "PickColor", "PickColorInsert" },
opts = {
["icons"] = { "", "" },
-- ["icons"] = { "ﮊ", "" },
-- ["icons"] = { "", "ﰕ" },
-- ["icons"] = { "", "" },
-- ["icons"] = { "", "" },
["border"] = "rounded", -- none | single | double | rounded | solid | shadow
["keymap"] = { -- mapping example:
["U"] = "<Plug>ColorPickerSlider5Decrease",
["O"] = "<Plug>ColorPickerSlider5Increase",
},
["background_highlight_group"] = "Normal", -- default
["border_highlight_group"] = "FloatBorder", -- default ["text_highlight_group"] = "Normal", --default })
vim.cmd([[hi FloatBorder guibg=NONE]]), -- if you don't want weird border background colors around the popup.
},
-- },
-- config = {
-- vim.cmd([[hi FloatBorder guibg=NONE]]), -- if you don't want weird border background colors around the popup.
-- },
},
{
"jiaoshijie/undotree",
dependencies = "nvim-lua/plenary.nvim",
config = true,
keys = {
{ "<leader>u", function() require("undotree").toggle() end, desc = "toggle undotree" },
},
},
{
"saecki/crates.nvim",
lazy = true,
event = { "BufReadPost Cargo.toml" },
opts = {},
-- config = function() require("crates").setup() end,
},
{
"folke/trouble.nvim",
opts = {},
cmd = "Trouble",
lazy = true,
keys = { "<leader>x" },
},
{
"lewis6991/gitsigns.nvim",
lazy = false,
opts = {
signs = {
add = { text = "" },
change = { text = "" },
delete = { text = "_" },
topdelete = { text = "" },
changedelete = { text = "~" },
untracked = { text = "" },
},
signcolumn = true, -- Toggle with `:Gitsigns toggle_signs`
numhl = true, -- 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,
},
attach_to_untracked = true,
current_line_blame = true, -- Toggle with `:Gitsigns toggle_current_line_blame`
current_line_blame_opts = {
virt_text = true,
virt_text_pos = "eol", -- 'eol' | 'overlay' | 'right_align'
delay = 150,
ignore_whitespace = false,
virt_text_priority = 0,
},
current_line_blame_formatter = "<author>, <author_time:%Y-%m-%d> - <summary>",
sign_priority = 6,
update_debounce = 100,
status_formatter = nil, -- Use default
max_file_length = 40000, -- Disable if file is longer than this (in lines)
preview_config = {
-- Options passed to nvim_open_win
border = "single",
style = "minimal",
relative = "cursor",
row = 0,
col = 1,
},
},
},
{
"nvzone/typr",
dependencies = "nvzone/volt",
opts = {},
lazy = true,
cmd = { "Typr", "TyprStats" },
},
} }

View File

@@ -0,0 +1,77 @@
return {
{
"nvim-telescope/telescope.nvim",
tag = "0.1.2",
lazy = true,
keys = {
{ "<leader><leader>", mode = { "n" }, "<cmd>Telescope smart_open<cr>", desc = "smart_open" },
{ "<leader>ff", mode = { "n" }, "<cmd>Telescope find_files<cr>", desc = "Find File" },
{ "<leader>fh", mode = { "n" }, "<cmd>Telescope help_tags<cr>", desc = "Find Help" },
{ "<leader>fs", mode = { "n" }, "<cmd>Telescope live_grep<cr>", desc = "Live Grep" },
},
cmd = { "Telescope" },
opts = {
defaults = {
sorting_strategy = "descending",
scroll_strategy = "limit",
scroll_speed = 7,
layout_strategy = "vertical",
layout_config = {
prompt_position = "top",
preview_cutoff = 0,
horizontal = {
height = 0.9,
},
vertical = {
prompt_position = "top",
height = 0.9,
width = 0.8,
mirror = true,
},
},
},
extensions = {
smart_open = {
match_algorithm = "fzy",
disable_devicons = false,
},
fzy_native = {},
},
pickers = {
buffers = {
mappings = {
n = {
["<leader>ww"] = "which_key",
["dd"] = function() require("telescope.actions").delete_buffer() end,
},
i = {
["<c-h>"] = "which_key",
["<c-x>"] = function() require("telescope.actions").delete_buffer() end,
},
},
},
},
},
},
{
"danielfalk/smart-open.nvim",
branch = "0.3.x",
lazy = true,
-- keys = { "<leader><leader>", "<cmd>Telescope smart_open<cr>", desc = "smart open" },
config = {
function() require("telescope").load_extension("smart_open") end,
},
},
{ "nvim-lua/plenary.nvim", lazy = true },
{ "MunifTanjim/nui.nvim", lazy = true },
-- Only required if using match_algorithm fzf
-- { "nvim-telescope/telescope-fzf-native.nvim", build = "make" },
-- faster and better matching than fzf
{
"nvim-telescope/telescope-fzy-native.nvim",
config = {
function() require("telescope").load_extension("fzy_native") end,
},
},
{ "kkharji/sqlite.lua", lazy = true },
}

View File

@@ -1,37 +0,0 @@
return {
"folke/trouble.nvim",
opts = {},
cmd = "Trouble",
keys = {
{
"<leader>xx",
"<cmd>Trouble diagnostics toggle<cr>",
desc = "Diagnostics (Trouble)",
},
{
"<leader>xX",
"<cmd>Trouble diagnostics toggle filter.buf=0<cr>",
desc = "Buffer Diagnostics (Trouble)",
},
{
"<leader>cs",
"<cmd>Trouble symbols toggle focus=false<cr>",
desc = "Symbols (Trouble)",
},
{
"<leader>cl",
"<cmd>Trouble lsp toggle focus=false win.position=right<cr>",
desc = "LSP Definitions / references / ... (Trouble)",
},
{
"<leader>xL",
"<cmd>Trouble loclist toggle<cr>",
desc = "Location List (Trouble)",
},
{
"<leader>xQ",
"<cmd>Trouble qflist toggle<cr>",
desc = "Quickfix List (Trouble)",
},
},
}

View File

@@ -1,8 +0,0 @@
return {
"jiaoshijie/undotree",
dependencies = "nvim-lua/plenary.nvim",
config = true,
keys = { -- load the plugin only when using it's keybinding:
{ "<leader>u", "<cmd>lua require('undotree').toggle()<cr>" },
},
}

View File

@@ -1,9 +0,0 @@
return {
"folke/which-key.nvim",
event = "VeryLazy",
init = function()
vim.o.timeout = true
vim.o.timeoutlen = 50
end,
opts = {},
}

View File

@@ -0,0 +1,262 @@
return {
"folke/which-key.nvim",
event = "VeryLazy",
init = function()
vim.o.timeout = true
vim.o.timeoutlen = 50
end,
opts = {
spec = {
{ "<leader>c", group = "crates" },
{ "<leader>cA", function() require("crates").upgrade_all_crates() end, desc = "Upgrade all crates" },
{ "<leader>cC", function() require("crates").open_creates_io() end, desc = "Open crates.io" },
{ "<leader>cD", function() require("crates").open_documentation() end, desc = "Open documentation" },
{ "<leader>cH", function() require("crates").open_homepage() end, desc = "Open homepage" },
{ "<leader>cR", function() require("crates").open_repository() end, desc = "Open repository" },
{ "<leader>cU", function() require("crates").upgrade_crate() end, desc = "Upgrade crate" },
{
"<leader>cX",
function() require("crates").extract_crate_into_table() end,
desc = "Extract crate into table",
},
{ "<leader>ca", function() require("crates").update_all_crates() end, desc = "Update all crates" },
{
"<leader>cd",
function() require("crates").show_dependencies_popup() end,
desc = "Show dependencies popup",
},
{ "<leader>cf", function() require("crates").show_features_popup() end, desc = "Show features popup" },
{ "<leader>cr", function() require("crates").reload() end, desc = "Reload" },
{ "<leader>ct", function() require("crates").toggle() end, desc = "Toggle" },
{ "<leader>cu", function() require("crates").update_crate() end, desc = "Update crate" },
{ "<leader>cv", function() require("crates").show_versions_popup() end, desc = "Show versions popup" },
{
"<leader>cx",
function() require("crates").expand_plain_crate_to_inline_table() end,
desc = "Expand plain crate to inline table",
},
{ "<leader>lp", "<cmd>Lazy profile<cr>", desc = "show Lazy profiler" },
{ "<leader>e", "<cmd>lua MiniFiles.open()<cr>", desc = "Files w/ Mini" },
{ "<leader>E", "<cmd>Lexplore<cr>", desc = "Files Sidebar" },
{ "<leader>f", group = "Telescope" },
{ "<leader>fb", "<cmd>Telescope buffers<cr>", desc = "Find Buffer" },
{ "<leader>fd", "<cmd>Telescope lsp_document_symbols<cr>", desc = "Find LSP Symbols" },
{ "<leader>ff", "<cmd>Telescope find_files<cr>", desc = "Find File" },
{ "<leader>fh", "<cmd>Telescope help_tags<cr>", desc = "Find Help" },
{ "<leader>fr", "<cmd>Telescope oldfiles<cr>", desc = "Open Recent File", remap = true },
{ "<leader>fs", "<cmd>Telescope live_grep<cr>", desc = "Live Grep" },
{ "<leader>fw", "<cmd>Telescope grep_string<cr>", desc = "Find string under cursor" },
{
"<leader><leader>",
function() require("telescope").extensions.smart_open.smart_open() end,
mode = "n",
silent = true,
desc = "Smart open",
},
{ "<leader>g", group = "Gitsigns" },
{ "<leader>gB", "<cmd>Gitsigns blame<cr>", desc = "Toggle Blame Sidebar" },
{ "<leader>gb", "<cmd>Gitsigns blame_line<cr>", desc = "Show Blame Inline" },
{ "<leader>gd", "<cmd>Gitsigns toggle_deleted<cr>", desc = "Toggle deleted lines" },
{ "<leader>gh", group = "hunks" },
{ "<leader>ghl", "<cmd>Gitsigns setloclist<cr>", desc = "List file Changes" },
{ "<leader>ghn", "<cmd>Gitsigns nav_hunk<cr>", desc = "Nav Hunk" },
{ "<leader>gr", group = "reset" },
{ "<leader>grb", "<cmd>Gitsigns reset_buffer<cr>", desc = "Reset Buffer" },
{ "<leader>grh", "<cmd>Gitsigns reset_hunk<cr>", desc = "Reset Hunk" },
{ "<leader>gs", group = "stage" },
{ "<leader>gsb", "<cmd>Gitsigns stage_buffer<cr>", desc = "Stage Buffer" },
{ "<leader>gsh", "<cmd>Gitsigns stage_hunk<cr>", desc = "Stage Hunk" },
{ "<leader>gu", "<cmd>Gitsigns undo_stage_hunk<cr>", desc = "Undo Stage Hunk" },
-- lsp and debugging
{
"<leader>i",
function() require("conform").format({ async = true }) end,
desc = "Auto format file with linter(?), also on F3",
},
{
"F3",
function() require("conform").format({ async = true }) end,
mode = "ni",
desc = "Auto format file with formatter",
},
{ "<leader>le", vim.diagnostic.open_float, desc = "Open diagnostic float" },
{ "<leader>K", desc = "Show definition" },
-- { "<Leader>d", group = "Debugging" },
-- {
-- { mode = "n" },
-- { "<Leader>dn", require("dap").new, desc = "Start Debugger" },
-- { "<Leader>db", require("dap").toggle_breakpoint, desc = "Toggle breakpoint" },
-- { "<Leader>dc", require("dap").continue, desc = "Continue" },
-- },
-- trouble plugin
{ "<leader>xx", "<cmd>Trouble diagnostics toggle<cr>", desc = "Diagnostics (Trouble)" },
{
"<leader>xX",
"<cmd>Trouble diagnostics toggle filter.buf=0<cr>",
desc = "Buffer Diagnostics (Trouble)",
},
{ "<leader>xs", "<cmd>Trouble symbols toggle focus=false<cr>", desc = "Symbols (Trouble)" },
{
"<leader>xl",
"<cmd>Trouble lsp toggle focus=false win.position=right<cr>",
desc = "LSP Definitions / references / ... (Trouble)",
},
{ "<leader>xL", "<cmd>Trouble loclist toggle<cr>", desc = "Location List (Trouble)" },
{ "<leader>xQ", "<cmd>Trouble qflist toggle<cr>", desc = "Quickfix List (Trouble)" },
-- QOL shortcuts
{ "<leader>n", "<cmd>nohl<cr>", desc = "Stop highlighting search results" },
{ "<leader>m", "<cmd>NoiceDismiss<cr>", desc = "Dismiss notifications" },
{ "<leader>M", "<cmd>Markview toggle<cr>", desc = "Markview toggle source view" },
{ "<leader>r", group = "Rename" },
{ "<leader>rr", vim.lsp.buf.rename, opts, desc = "Rename Variable" },
{ "<leader>s", group = "Sessions" },
{ "<leader>sl", function() require("nvim-possession").list() end, desc = "List sesssions" },
{ "<leader>sn", function() require("nvim-possession").new() end, desc = "Create new session" },
{ "<leader>su", function() require("nvim-possession").update() end, desc = "Update Session" },
{ "<leader>sd", function() require("nvim-possession").delete() end, desc = "Delete Session" },
{ "<leader>t", group = "tabs" },
{ "<leader>ta", "<cmd>tabnew<cr>", desc = "Add new Tab" },
{ "<leader>tc", "<cmd>tabclose<cr>", desc = "Close Tab" },
{ "<leader>tf", "<cmd>tabfirst<cr>", desc = "First Tab" },
{ "<leader>tl", "<cmd>tablast<cr>", desc = "Last Tab" },
{ "<leader>tm", group = "Move Tab" },
{ "<leader>tmf", "<cmd>tabmove 0<cr>", desc = "Move Tab to First" },
{ "<leader>tmi", ":tabmove ", desc = "Input position to move Tab to" },
{ "<leader>tml", "<cmd>tabmove $<cr>", desc = "Move Tab to Last" },
{ "<leader>tn", "<cmd>tabnext<cr>", desc = "Next Tab" },
{ "<leader>tp", "<cmd>tabprevious<cr>", desc = "Previous Tab" },
{ "<leader>u", desc = "Toggle undo-tree" },
{ "<leader>w", group = "Workspaces + Whichkey" },
{ "<leader>wa", desc = "Add workspace folder" },
{ "<leader>wr", desc = "Remove workspace folder" },
{ "<leader>ww", "<cmd>WhichKey<cr>", desc = "Show keybindings" },
{ "<leader>y", desc = "Copy to system clipboard" },
{ "<leader>Y", desc = "Copy line to system clipboard" },
-- mini.nvim additions
{ "va", group = "select around" }, --{{{1 mini.ai
{ "va(", desc = "() parens" },
{ "va)", desc = "() parens" },
{ "va[", desc = "[] brackets" },
{ "va]", desc = "[] brackets" },
{ "va{", desc = "{} braces" },
{ "va}", desc = "{} braces" },
{ "va<", desc = "<> braces" },
{ "va>", desc = "<> braces" },
{ 'va"', desc = '""' },
{ "va'", desc = "''" },
{ "val", desc = "last selection" },
{ "vi", group = "select inside" },
{ "vi(", desc = "() parens" },
{ "vi)", desc = "() parens" },
{ "vi[", desc = "[] brackets" },
{ "vi]", desc = "[] brackets" },
{ "vi{", desc = "{} braces" },
{ "vi}", desc = "{} braces" },
{ "vi<", desc = "<> braces" },
{ "vi>", desc = "<> braces" },
{ 'vi"', desc = '""' },
{ "vi'", desc = "''" },
{ "vil", desc = "last selection" },
--}}}
{ "[", group = "move to prev" }, --{{{2 "brackets"
{ "[B", desc = "First Buffer" },
{ "[b", desc = "Prev Buffer" },
{ "[X", desc = "First Conflict" },
{ "[x", desc = "Prev Conflict" },
{ "[I", desc = "First Indent" },
{ "[i", desc = "Prev Indent" },
{ "[I", desc = "First Indent" },
{ "[i", desc = "Prev Indent" },
{ "[W", desc = "First Window in Tab" },
{ "[w", desc = "Prev Window in Tab" },
{ "[F", desc = "First File" },
{ "[f", desc = "Prev File" },
{ "[O", desc = "First Oldfile" },
{ "[o", desc = "Prev Oldfile" },
{ "[Q", desc = "First Quickfix" },
{ "[q", desc = "Prev Quickfix" },
{ "[Y", desc = "First Yank selection replacing latest put region" },
{ "[y", desc = "Prev Yank selection replacing latest put region" },
{ "]", group = "move next" },
{ "]B", desc = "Last Buffer" },
{ "]b", desc = "Next Buffer" },
{ "]X", desc = "Last Conflict" },
{ "]x", desc = "Next Conflict" },
{ "]I", desc = "Last Indent" },
{ "]i", desc = "Next Indent" },
{ "]I", desc = "Last Indent" },
{ "]i", desc = "Next Indent" },
{ "]W", desc = "Last Window in Tab" },
{ "]w", desc = "Next Window in Tab" },
{ "]F", desc = "Last File" },
{ "]f", desc = "Next File" },
{ "]O", desc = "Last Oldfile" },
{ "]o", desc = "Next Oldfile" },
{ "]Q", desc = "Last Quickfix" },
{ "]q", desc = "Next Quickfix" },
{ "]Y", desc = "Last Yank selection replacing latest put region" },
{ "]y", desc = "Next Yank selection replacing latest put region" },
--}}}
{ "gcc", desc = "Comment Line" },
{
mode = { "v" },
{ "gc", group = "Comment" },
{ "g=", desc = "evaluate expression" },
{ "gm", desc = "duplicate" },
{ "gr", desc = "replace with register" },
{ "gs", desc = "sort" },
{ "gx", desc = "exchange region" },
},
-- These somehow have no effect whatsoever
-- { "c", group = "change" },
-- { "c[", group = "back" },
-- { "c]", group = "forward" },
-- { "cg", group = "jump" },
--
-- { "d", group = "delete" },
-- { "d[", group = "back" },
-- { "d]", group = "forward" },
-- { "dg", group = "jump" },
{ "K", desc = "Show definition" },
{ "[", group = "jump backward" },
{ "[c", desc = "Previous diff change" },
{ "[d", desc = "Previous Diagnostic" },
{ "[h", "<cmd>Gitsigns prev_hunk<cr><cr>", desc = "Previous changed git block" },
{ "]", group = "jump forward" },
{ "]c", desc = "Next diff change" },
{ "]d", desc = "Next Diagnostic" },
{ "]h", "<cmd>Gitsigns next_hunk<cr><cr>", desc = "Next changed git block" },
{ "g", group = "lsp functions" },
{ "gD", desc = "go to declaration" },
{ "gd", desc = "go to definition" },
{ "gi", desc = "show implementations" },
{ "gr", desc = "list all references to symbol under cursor" },
--undotree
{ "j", desc = "jump to next undo node" },
{ "gj", desc = "jump to the parent node of the node under the cursor" },
{ "k", desc = "jump to previous undo node" },
{ "J", desc = "jump to next undo node and undo to this state" },
{ "K", desc = "jump to previous undo node and undo to this state" },
{ "q", desc = "quit undotree" },
{ "p", desc = "jump into undetree diff window" },
{ "<cr>", desc = "undo to this state" },
},
},
}

1
.config/nvim/stylua.toml Normal file
View File

@@ -0,0 +1 @@
collapse_simple_statement = "Always"

32
.config/qt6ct/qt6ct.conf Normal file
View File

@@ -0,0 +1,32 @@
[Appearance]
color_scheme_path=/usr/share/color-schemes/Kvantum.colors
custom_palette=true
icon_theme=Tela-dark
standard_dialogs=default
style=kvantum-dark
[Fonts]
fixed="Hurmit Nerd Font,12,-1,5,300,0,0,0,0,0,0,0,0,0,0,1"
general="Noto Sans,12,-1,5,400,0,0,0,0,0,0,0,0,0,0,1"
[Interface]
activate_item_on_single_click=1
buttonbox_layout=2
cursor_flash_time=1000
dialog_buttons_have_icons=1
double_click_interval=400
gui_effects=@Invalid()
keyboard_scheme=3
menus_have_icons=true
show_shortcuts_in_context_menus=true
stylesheets=/usr/share/qt6ct/qss/scrollbar-simple.qss
toolbutton_style=4
underline_shortcut=1
wheel_scroll_lines=3
[SettingsWindow]
geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x3\0\0\0\0\0\0\0\0\0\0\0\0\x4\xfd\0\0\x5\x9f\0\0\0\0\0\0\0\0\0\0\x4\xfd\0\0\x5\x9f\0\0\0\0\x2\0\0\0\n\0\0\0\0\0\0\0\0\0\0\0\x4\xfd\0\0\x5\x9f)
[Troubleshooting]
force_raster_widgets=0
ignored_applications=@Invalid()

View File

@@ -4,7 +4,7 @@
#[┣─project](bold red) $directory$rust$git_branch$git_status$package$golang$terraform$docker_context$python$docker_context$nodejs #[┣─project](bold red) $directory$rust$git_branch$git_status$package$golang$terraform$docker_context$python$docker_context$nodejs
#[╰─cmd────](bold green) #[╰─cmd────](bold green)
#""" #"""
add_newline = false add_newline = true
#format = """ #format = """
#$time\ #$time\
@@ -37,7 +37,7 @@ style_user = "green bold"
style_root = "red bold" style_root = "red bold"
format = "[$user]($style) " format = "[$user]($style) "
disabled = false disabled = false
show_always = true show_always = false
[hostname] [hostname]
ssh_only = true ssh_only = true

View File

@@ -0,0 +1,152 @@
include = config
font-size = 17
###----
### Text theming
#
# Default text color
#
# All text defaults to this color if not otherwise specified.
text-color = #FFFFFF
# Selection text
selection-color = #9cd3ff
# Matching portion of selection text
selection-match-color = #9cd3ff
default-result-color = #FFFFFF
alternate-result-color = #808080
#
### Text cursor theme
#
# Style of the optional text cursor.
#
# Supported values: bar, block, underscore
text-cursor-style = underscore
# Color of the text cursor
#
# If unspecified, defaults to the same as input-color
# text-cursor-color = #FFFFFF
# Color of text behind the text cursor when text-cursor-style = block
#
# If unspecified, defaults to the same as background-color
# text-cursor-background = #000000
# Corner radius of the text cursor
text-cursor-corner-radius = 0
# Thickness of the bar and underscore text cursors.
#
# If unspecified, defaults to a font-dependent value when
# text-cursor-style = underscore, or to 2 otherwise.
# text-cursor-thickness = 2
#
### Text layout
#
# Prompt to display.
prompt-text = "Brightness"
# Extra horizontal padding between prompt and input.
prompt-padding = 8
# Placeholder input text.
placeholder-text = ""
# Maximum number of results to display.
# If 0, tofi will draw as many results as it can fit in the window.
num-results = 7
# Spacing between results in pixels. Can be negative.
result-spacing = 6
# List results horizontally.
horizontal = true
# Minimum width of input in horizontal mode.
min-input-width = 0
#
### Window theming
#
width = 330
height = 50
# Width and height of the window. Can be pixels or a percentage.
# Window background color
background-color = #191A1CF0
# Width of the border outlines in pixels.
outline-width = 0
# Border outline color
outline-color = #080800
# Radius of window corners in pixels.
corner-radius = 0
# Whether to scale the window by the output's scale factor.
scale = true
#
### Window positioning
#
# The name of the output to appear on. An empty string will use the
# default output chosen by the compositor.
output = ""
# Location on screen to anchor the window to.
#
# Supported values: top-left, top, top-right, right, bottom-right,
# bottom, bottom-left, left, center.
anchor = top
margin-top = 5%
# Set the size of the exclusive zone.
#
# A value of -1 means ignore exclusive zones completely.
# A value of 0 will move tofi out of the way of other windows' zones.
# A value greater than 0 will set that much space as an exclusive zone.
#
# Values greater than 0 are only meaningful when tofi is anchored to a
# single edge.
exclusive-zone = -1
#
### Behaviour
#
# Hide the mouse cursor.
hide-cursor = true
# Show a text cursor in the input field.
text-cursor = false
# Sort results by number of usages in run and drun modes.
history = false
require-match = true
auto-accept-single = true
# If true, typed input will be hidden, and what is displayed (if
# anything) is determined by the hidden-character option.
hide-input = true
# Replace displayed input characters with a character. If the empty
# string is given, input will be completely hidden.
# This option only has an effect when hide-input is set to true.
hidden-character = ""
#
### Inclusion
#
# Configs can be split between multiple files, and then included
# within each other.
# include = /path/to/config

View File

@@ -13,13 +13,14 @@
# characters not in the chosen font will fail to render. # characters not in the chosen font will fail to render.
# #
# Otherwise, fonts are interpreted in Pango format. # Otherwise, fonts are interpreted in Pango format.
# font = "Nimbus Mono PS" #font = "Nimbus Mono PS"
# font = "hurmit nerd font" #font = "hurmit nerd font"
#font = /usr/share/fonts/TTF/SauceCodeProNerdFont-Regular.ttf
font = /usr/share/fonts/OTF/HurmitNerdFont-Light.otf font = /usr/share/fonts/OTF/HurmitNerdFont-Light.otf
# font = /usr/share/fonts/OTF/HurmitNerdFont-Regular.otf #font = /usr/share/fonts/OTF/HurmitNerdFont-Regular.otf
# Point size of text. # Point size of text.
font-size = 19 font-size = 20
# Comma separated list of OpenType font feature settings to apply, # Comma separated list of OpenType font feature settings to apply,
# if supported by the chosen font. The format is similar to the CSS # if supported by the chosen font. The format is similar to the CSS
@@ -45,7 +46,7 @@
# specified via `font`. Disabling font hinting speeds up text # specified via `font`. Disabling font hinting speeds up text
# rendering appreciably, but will likely look poor at small font pixel # rendering appreciably, but will likely look poor at small font pixel
# sizes. # sizes.
hint-font = true hint-font = false
# #
### Text theming ### Text theming
@@ -72,27 +73,27 @@
# Prompt text theme # Prompt text theme
# prompt-color = #FFFFFF # prompt-color = #FFFFFF
prompt-background = #00000000 #prompt-background = #00000000
prompt-background-padding = 0 #prompt-background-padding = 0
prompt-background-corner-radius = 0 #prompt-background-corner-radius = 0
# Placeholder text theme # Placeholder text theme
placeholder-color = #FFFFFFA8 placeholder-color = #FFFFFFA8
placeholder-background = #00000000 #placeholder-background = #00000000
placeholder-background-padding = 0 #placeholder-background-padding = 0
placeholder-background-corner-radius = 15 #placeholder-background-corner-radius = 15
# Input text theme # Input text theme
# input-color = #FFFFFF # input-color = #FFFFFF
input-background = #00000000 #input-background = #00000000
input-background-padding = 0 #input-background-padding = 0
input-background-corner-radius = 15 #input-background-corner-radius = 15
# Default result text theme # Default result text theme
# default-result-color = #FFFFFF # default-result-color = #FFFFFF
default-result-background = #00000000 #default-result-background = #00000000
default-result-background-padding = 0 #default-result-background-padding = 0
default-result-background-corner-radius = 15 #default-result-background-corner-radius = 15
# Alternate (even-numbered) result text theme # Alternate (even-numbered) result text theme
# #
@@ -106,9 +107,9 @@
# Selection text # Selection text
selection-color = #33ccff selection-color = #33ccff
selection-background = #00000000 #selection-background = #00000000
selection-background-padding = 0 #selection-background-padding = 0
selection-background-corner-radius = 15 #selection-background-corner-radius = 15
# Matching portion of selection text # Matching portion of selection text
selection-match-color = #00ff99 selection-match-color = #00ff99
@@ -120,7 +121,7 @@
# Style of the optional text cursor. # Style of the optional text cursor.
# #
# Supported values: bar, block, underscore # Supported values: bar, block, underscore
text-cursor-style = bar text-cursor-style = underscore
# Color of the text cursor # Color of the text cursor
# #
@@ -145,17 +146,17 @@
### Text layout ### Text layout
# #
# Prompt to display. # Prompt to display.
prompt-text = "> " prompt-text = ">"
# Extra horizontal padding between prompt and input. # Extra horizontal padding between prompt and input.
prompt-padding = 0 prompt-padding = 8
# Placeholder input text. # Placeholder input text.
placeholder-text = "" placeholder-text = ""
# Maximum number of results to display. # Maximum number of results to display.
# If 0, tofi will draw as many results as it can fit in the window. # If 0, tofi will draw as many results as it can fit in the window.
num-results = 5 #num-results = 5
# Spacing between results in pixels. Can be negative. # Spacing between results in pixels. Can be negative.
result-spacing = 0 result-spacing = 0
@@ -174,10 +175,10 @@
height = 270 height = 270
# Window background color # Window background color
background-color = #191A1CA0 background-color = #191A1CC0
# Width of the border outlines in pixels. # Width of the border outlines in pixels.
outline-width = 1 outline-width = 0
# Border outline color # Border outline color
outline-color = #080800 outline-color = #080800
@@ -186,10 +187,10 @@
border-width = 2 border-width = 2
# Border color # Border color
border-color = #00ff99 border-color = #00ff99aa
# Radius of window corners in pixels. # Radius of window corners in pixels.
corner-radius = 10 corner-radius = 0
# Padding between borders and text. Can be pixels or a percentage. # Padding between borders and text. Can be pixels or a percentage.
padding-top = 8 padding-top = 8
@@ -231,7 +232,7 @@
# Window offset from edge of screen. Only has an effect when anchored # Window offset from edge of screen. Only has an effect when anchored
# to the relevant edge. Can be pixels or a percentage. # to the relevant edge. Can be pixels or a percentage.
margin-top = 20% margin-top = 20%
margin-bottom = 0 margin-bottom = 0%
margin-left = 0 margin-left = 0
margin-right = 3% margin-right = 3%

View File

@@ -0,0 +1,181 @@
# Default config for tofi
#
# Copy this file to ~/.config/tofi/config and get customising!
#
# A complete reference of available options can be found in `man 5 tofi`.
include = ~/.config/tofi/config
#
### Fonts
#
font = /usr/share/fonts/OTF/HurmitNerdFont-Light.otf
font-size = 17
# font-features = "smcp, c2sc" (all small caps)
# font-features = "liga 0" (disable ligatures)
font-features = "smcp"
# Comma separated list of OpenType font variation settings to apply
# to variable fonts. The format is similar to the CSS
# "font-variation-settings" property.
#
# Examples:
#
# font-variations = "wght 900" (Extra bold)
# font-variations = "wdth 25, slnt -10" (Narrow and slanted)
font-variations = ""
hint-font = false
#
### Text theming
#
# Default text color
#
# All text defaults to this color if not otherwise specified.
text-color = #FFFFFF
# Selection text
selection-color = #ffbb00
# Matching portion of selection text
selection-match-color = #ff7700
#
### Text cursor theme
#
# Style of the optional text cursor.
#
# Supported values: bar, block, underscore
text-cursor-style = underscore
# Color of the text cursor
#
# If unspecified, defaults to the same as input-color
# text-cursor-color = #FFFFFF
# Color of text behind the text cursor when text-cursor-style = block
#
# If unspecified, defaults to the same as background-color
# text-cursor-background = #000000
# Corner radius of the text cursor
text-cursor-corner-radius = 0
# Thickness of the bar and underscore text cursors.
#
# If unspecified, defaults to a font-dependent value when
# text-cursor-style = underscore, or to 2 otherwise.
# text-cursor-thickness = 2
#
### Text layout
#
# Prompt to display.
prompt-text = ""
# Extra horizontal padding between prompt and input.
prompt-padding = 8
# Placeholder input text.
placeholder-text = ""
# Maximum number of results to display.
# If 0, tofi will draw as many results as it can fit in the window.
#num-results = 5
# Spacing between results in pixels. Can be negative.
result-spacing = 15
# List results horizontally.
horizontal = false
# Minimum width of input in horizontal mode.
min-input-width = 0
#
### Window theming
#
# Width and height of the window. Can be pixels or a percentage.
width = 100%
height = 100%
border-width = 0
border-color = #ffbb00ab
# Padding between borders and text. Can be pixels or a percentage.
padding-top = 35%
padding-left = 35%
# Window background color
background-color = #191A1CF0
# Width of the border outlines in pixels.
outline-width = 0
# Border outline color
outline-color = #080800
# Radius of window corners in pixels.
corner-radius = 0
# Whether to scale the window by the output's scale factor.
scale = true
#
### Window positioning
#
# The name of the output to appear on. An empty string will use the
# default output chosen by the compositor.
output = ""
# Location on screen to anchor the window to.
#
# Supported values: top-left, top, top-right, right, bottom-right,
# bottom, bottom-left, left, center.
anchor = center
# Set the size of the exclusive zone.
#
# A value of -1 means ignore exclusive zones completely.
# A value of 0 will move tofi out of the way of other windows' zones.
# A value greater than 0 will set that much space as an exclusive zone.
#
# Values greater than 0 are only meaningful when tofi is anchored to a
# single edge.
exclusive-zone = -1
#
### Behaviour
#
# Hide the mouse cursor.
hide-cursor = true
# Show a text cursor in the input field.
text-cursor = false
# Sort results by number of usages in run and drun modes.
history = false
require-match = true
auto-accept-single = false
# If true, typed input will be hidden, and what is displayed (if
# anything) is determined by the hidden-character option.
hide-input = true
# Replace displayed input characters with a character. If the empty
# string is given, input will be completely hidden.
# This option only has an effect when hide-input is set to true.
hidden-character = ""
#
### Inclusion
#
# Configs can be split between multiple files, and then included
# within each other.
# include = /path/to/config

View File

@@ -10,7 +10,7 @@
// Choose the order of the modules // Choose the order of the modules
"modules-left": ["hyprland/workspaces"], "modules-left": ["hyprland/workspaces"],
"modules-center": ["clock"], "modules-center": ["clock"],
"modules-right": ["pulseaudio", "temperature", "cpu", "memory", "battery", "backlight", "hyprland/language", "tray"], "modules-right": ["pulseaudio", "temperature", "cpu", "memory", "battery", "backlight", "hyprland/language", "idle_inhibitor", "tray"],
"hyprland/workspaces": { "hyprland/workspaces": {
"disable-scroll": false, "disable-scroll": false,
"all-outputs": false, "all-outputs": false,
@@ -27,6 +27,7 @@
"hyprland/language": { "hyprland/language": {
"format-en": "UK", "format-en": "UK",
"format-de": "DE", "format-de": "DE",
"format-eu": "EU",
"on-click": "hyprctl switchxkblayout at-translated-set-2-keyboard next" "on-click": "hyprctl switchxkblayout at-translated-set-2-keyboard next"
}, },
"keyboard-state": { "keyboard-state": {
@@ -50,11 +51,27 @@
"clock": { "clock": {
"timezones": ["Europe/Berlin", "Asia/Hong_Kong"], "timezones": ["Europe/Berlin", "Asia/Hong_Kong"],
"tooltip-format": "<small>{tz_list}</small>\n<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>", "tooltip-format": "<small>{tz_list}</small>\n<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>",
"format": "{:%H:%M}", "format": "{:%H:%M | %a, %d %b}",
"format-alt": "{:%Y-%m-%d}", "format-alt": "{:%Y-%m-%d}",
"actions":{ "locale": "en_GB.UTF-8",
"on-scroll-up": "tz_up", "calendar": {
"on-scroll-down": "tz_down", "mode" : "month",
"mode-mon-col" : 3,
"weeks-pos" : "left",
"on-scroll" : 1,
"format": {
"months": "<span color='#dcdcdc'><b>{}</b></span>",
"days": "<span color='#aaaaaa'><b>{}</b></span>",
"weeks": "<span color='#65cba9'><b>W{}</b></span>",
"weekdays": "<span color='#ffc343'><b>{}</b></span>",
"today": "<span color='#20ffee'><b><u>{}</u></b></span>",
},
},
"actions": {
"on-scroll-up": "shift_up",
"on-scroll-down": "shift_down",
"on-click-right": "tz_up",
"on-click-middle": "mode",
}, },
"smooth-scrolling-threshold": 6.0, "smooth-scrolling-threshold": 6.0,
}, },
@@ -122,6 +139,13 @@
"on-click": "pavucontrol-qt -t 3", "on-click": "pavucontrol-qt -t 3",
"on-click-middle": "amixer set Master Playback Switch toggle --quiet", "on-click-middle": "amixer set Master Playback Switch toggle --quiet",
}, },
"idle_inhibitor": {
"format": "{icon}",
"format-icons": {
"activated": "",
"deactivated": ""
},
},
"custom/media": { "custom/media": {
"format": "{icon} {}", "format": "{icon} {}",
"return-type": "json", "return-type": "json",

View File

@@ -1,7 +1,7 @@
* { * {
/* `otf-font-awesome` is required to be installed for icons */ /* `otf-font-awesome` is required to be installed for icons */
font-family: "Hurmit Nerd Font", FontAwesome, Roboto, Helvetica, Arial, font-family:
sans-serif; "Hurmit Nerd Font", FontAwesome, Roboto, Helvetica, Arial, sans-serif;
font-size: 1.1rem; font-size: 1.1rem;
margin: 0; margin: 0;
} }
@@ -21,8 +21,8 @@ window#waybar.hidden {
.modules-center, .modules-center,
.modules-right { .modules-right {
/*background-color: black; rgba(255, 255, 255, 1);*/ /*background-color: black; rgba(255, 255, 255, 1);*/
border: 1px solid; border-top: 1px solid;
border-radius: 8px; border-radius: 0px;
padding: 0px; padding: 0px;
} }
@@ -49,21 +49,17 @@ button:hover {
box-shadow: inset 0 3px #ffffff; box-shadow: inset 0 3px #ffffff;
} }
#workspaces button {
padding: 2px 5px 0px 5px;
border: 1px solid transparent; /*avoid jumping by always having a border*/
background-color: transparent;
color: #ffffff;
border-radius: 8px;
}
#workspaces button, #workspaces button,
#workspaces button.empty, #workspaces button.empty,
#workspaces button.active, #workspaces button.active,
#workspaces button.special, #workspaces button.special,
#workspaces button.special.empty, #workspaces button.special.empty,
#workspaces button.special.active { #workspaces button.special.active {
background-color: transparent; background-color: rgba(0, 0, 0, 1);
/* border-radius: 8px; */
border: 1px solid transparent; /*avoid jumping by always having a border*/
color: #ffffff;
padding: 0px 5px 2px 5px;
transition: linear 0.1s; transition: linear 0.1s;
} }
@@ -79,12 +75,14 @@ button:hover {
#workspaces button:hover { #workspaces button:hover {
border: 1px solid rgba(40, 220, 255, 0.8); border: 1px solid rgba(40, 220, 255, 0.8);
box-shadow: inset 0 0 0 0 transparent; box-shadow: inset 0 0 0 0 transparent;
padding: 0px 5px 2px 5px;
}
#workspaces button.active {
color: rgba(40, 240, 255, 0.9);
padding: 1px 5px 1px 5px; padding: 1px 5px 1px 5px;
} }
#workspaces button.special.active,
#workspaces button.active {
background-color: rgba(0, 0, 0, 1);
color: rgba(40, 240, 255, 0.9);
padding: 2px 5px 0px 5px;
}
/*#workspaces button.active { /*#workspaces button.active {
border-top: 2px solid white; border-top: 2px solid white;
@@ -92,7 +90,7 @@ button:hover {
}*/ }*/
#workspaces { #workspaces {
background-color: rgba(255, 255, 255, 0.1); background-color: rgba(0, 0, 0, 0.3);
/*border: 1px solid;*/ /*border: 1px solid;*/
border-radius: 8px; border-radius: 8px;
padding: 1px; padding: 1px;
@@ -120,7 +118,7 @@ button:hover {
#scratchpad, #scratchpad,
#language, #language,
#mpd { #mpd {
padding: 0 8px; padding: 0 6px;
color: #909090; color: #909090;
border-radius: 0px; border-radius: 0px;
border-top: 1rem; border-top: 1rem;
@@ -154,7 +152,8 @@ button:hover {
font-weight: bold; font-weight: bold;
font-size: 1.2rem; font-size: 1.2rem;
background-color: rgba(255, 255, 255, 0.1); background-color: rgba(255, 255, 255, 0.1);
border-radius: 8px; border-radius: 0px;
padding: 0;
margin: 0; margin: 0;
} }
@@ -195,22 +194,10 @@ label:focus {
border-top: solid 2px #9b59b6; border-top: solid 2px #9b59b6;
}*/ }*/
#disk {
background-color: #964b00;
}
#backlight { #backlight {
border-top: solid 2px #d1f2f2; border-top: solid 2px #d1f2f2;
} }
#network {
border-top: solid 2px #2980b9;
}
#network.disconnected {
border-top: 2px #f53c3c;
}
#pulseaudio { #pulseaudio {
border-top: 2px #f1c40f; border-top: 2px #f1c40f;
color: #1acbc4; color: #1acbc4;
@@ -260,10 +247,10 @@ label:focus {
background-color: #2d3436; background-color: #2d3436;
} }
#idle_inhibitor.activated { /* #idle_inhibitor.activated { */
background-color: #ecf0f1; /* background-color: #ecf0f1; */
color: #2d3436; /* color: #2d3436; */
} /* } */
#mpd { #mpd {
background-color: #66cc99; background-color: #66cc99;

8
.config/yazi/keymap.toml Normal file
View File

@@ -0,0 +1,8 @@
[[mgr.prepend_keymap]]
on = "!"
run = 'shell "$SHELL" --block'
desc = "Open shell here"
[[mgr.prepend_keymap]]
on = "q"
run = "plugin confirm-quit"

View File

@@ -0,0 +1,20 @@
local count = ya.sync(function()
return #cx.tabs
end)
local function entry()
if count() < 2 then
return ya.mgr_emit("quit", {})
end
local yes = ya.confirm({
pos = { "center", w = 60, h = 9 },
title = "Quit?",
content = ui.Text("\nMultiple tabs are open.\n\nAre you sure you want to quit?"):wrap(ui.Text.WRAP),
})
if yes then
ya.mgr_emit("quit", {})
end
end
return { entry = entry }

19
.config/yazi/yazi.toml Normal file
View File

@@ -0,0 +1,19 @@
[mgr]
ratio = [ 1,4,3 ]
sort_dir_first = true
linemode = "mtime"
show_symlink = true
scrolloff = 2
wrap = true
tab_size = 2
image_delay = 100
image_filter = "triangle"
[[confirm.quit]]
enabled = true
origin = "center"
[confirm.trash]
[confirm.delete]
[confirm.overwrite]

62
.editorconfig Normal file
View File

@@ -0,0 +1,62 @@
# EditorConfig is awesome: https://editorconfig.org
# top-most EditorConfig file
root = true
# Unix-style newlines with a newline ending every file
[*]
end_of_line = lf
insert_final_newline = true
indent_style = tab
indent_size = 4
trim_trailing_whitespace = true
# Matches multiple files with brace expansion notation
# Set default charset
[*.{js,py}]
charset = utf-8
[*.{js,ts}]
indent_style = space
indent_size = 4
[*.{html,css,scss,sass}]
indent_style = tab
indent_size = 2
[*.md]
indent_style = tab
indent_size = 4
[*.py]
indent_style = space
indent_size = 4
[*.{c, cpp}]
indent_style = tab
indent_size = 8
[*.{r, R}]
indent_style = tab
indent_size = 2
[*.rs]
indent_style = tab
[*.{sql}]
indent_style = tab
indent_size = 4
# Tab indentation (no size specified)
[Makefile]
indent_style = tab
# Indentation override for all JS under lib directory
[lib/**.js]
indent_style = space
indent_size = 2
# Matches the exact files either package.json or .travis.yml
[{package.json,.travis.yml}]
indent_style = space
indent_size = 2

3
.githooks-repo/README.md Normal file
View File

@@ -0,0 +1,3 @@
# What is this directory?
This folder is just a personal collection of used git hooks so that I can
collect them in one place and sync between devices, as well as back them up.

View File

@@ -0,0 +1,3 @@
prettier --check "src/**/*.ts" "test/**/*.ts" "package.json" "package-lock.json"
eslint "{src,apps,libs,test}/**/*.ts"
pnpm run test

1
.gitignore vendored
View File

@@ -3,6 +3,7 @@
*.jpeg *.jpeg
*.webp *.webp
*.bak *.bak
*.so
.config/tmux/plugins .config/tmux/plugins
*sync-conflict* *sync-conflict*
history.txt history.txt

12
keyd.conf Normal file
View File

@@ -0,0 +1,12 @@
# put in /etc/keyd/default.conf
[ids]
*
[main]
# Maps capslock to escape when pressed and control when held.
capslock = overload(control, esc)
# Remaps the escape key to capslock
#esc = capslock