From 0c79acd431d73146fd1da1dd25054306d4885673 Mon Sep 17 00:00:00 2001 From: fbachus Date: Wed, 30 Sep 2026 23:23:35 +0200 Subject: [PATCH] move scripts, update other things --- .config/alacritty/alacritty.toml | 2 +- .config/darkman/config.yaml | 3 + .config/fish/config.fish | 9 +- .config/fish/functions/setscreenb.fish | 4 +- .config/foot/foot.ini | 29 + .config/hypr/hyprlock.conf | 63 -- .config/hypr/tofi_scripts/brightnessmenu.fish | 6 - .config/kitty/kitty.conf | 102 +-- .config/kitty/kitty.conf.bak | 75 -- .config/niri/binds.kdl | 20 +- .config/niri/config.kdl | 23 +- .config/niri/monitors.kdl | 46 +- .config/niri/monitors.kdlr | 82 ++ .config/niri/monitors/old_workspace.kdl | 13 + .../niri/monitors/workspaces_dgav_usbc.kdl | 62 ++ .config/niri/windowrules.kdl | 66 +- .config/nvim.backup/lazy-lock.json | 27 - .../nvim/lua/plug_init/coq_third_party.lua | 27 +- .config/nvim/lua/plug_init/init.lua | 4 +- .config/nvim/lua/plug_init/lazy.lua | 22 +- .config/nvim/lua/plug_init/lsp_init.lua | 25 + .config/nvim/lua/plug_init/neovide_conf.lua | 17 +- .config/nvim/lua/plug_init/vim_init.lua | 5 + .config/nvim/lua/plugins/git.lua | 67 ++ .config/nvim/lua/plugins/lsp_config.lua | 77 +- .config/nvim/lua/plugins/lualine.lua | 4 +- .config/nvim/lua/plugins/peanuts.lua | 146 ++-- .config/nvim/lua/plugins/snacks.nvim.lua | 49 ++ .config/nvim/lua/plugins/typst.lua | 16 + .config/nvim/lua/plugins/which_key.lua | 47 +- .config/nvim/noice.log | 752 ++++++++++++++++++ .config/paru/paru.conf | 5 +- .config/qt6ct/qt6ct.conf | 9 +- .config/rio/config.toml | 22 + .config/rio/themes/Everforest Dark Hard.toml | 22 + .config/rio/themes/Everforest Dark Med.toml | 22 + .config/rio/themes/Everforest Dark Soft.toml | 24 + .config/starship.toml | 2 + .config/swayidle.conf | 6 +- .config/systemd/user/swaybg.service | 9 + .config/systemd/user/swayidle.service | 13 + .config/tofi/brightness_config | 35 - .../customCSS/center_address_bar.css.bak | 11 - .config/vivaldi/customCSS/frame.css.bak | 85 -- .config/waybar/config | 27 +- .../wezterm/colors/Everforest Dark Hard.toml | 12 + .config/wezterm/wezterm.lua | 22 + .../yazi/plugins/confirm-quit.yazi/main.lua | 6 +- .config/yazi/yazi.toml | 2 - .config/zellij/config.kdl | 550 +++++++++++++ .../zellij/layouts/new_try_from_default.kdl | 337 ++++++++ .editorconfig | 15 +- .instructions/fix-mime | 13 + .local/share/scripts/alsa-fp-switch.sh | 49 ++ .local/share/scripts/alsa-mic-amp.sh | 52 ++ .../pipewire-switch-outputs-templar.sh | 12 + .local/share/scripts/tofi/brightnessmenu.fish | 6 + .../share/scripts/tofi}/brightnessmenu.sh | 4 +- .../share/scripts/tofi}/cliphist.sh | 0 .../share/scripts/tofi}/powermenu.sh | 0 resolv.dgav_neu.conf | 5 + 61 files changed, 2728 insertions(+), 539 deletions(-) create mode 100644 .config/darkman/config.yaml create mode 100644 .config/foot/foot.ini delete mode 100644 .config/hypr/hyprlock.conf delete mode 100755 .config/hypr/tofi_scripts/brightnessmenu.fish delete mode 100644 .config/kitty/kitty.conf.bak create mode 100644 .config/niri/monitors.kdlr create mode 100644 .config/niri/monitors/old_workspace.kdl create mode 100644 .config/niri/monitors/workspaces_dgav_usbc.kdl delete mode 100644 .config/nvim.backup/lazy-lock.json create mode 100644 .config/nvim/lua/plugins/git.lua create mode 100644 .config/nvim/lua/plugins/typst.lua create mode 100644 .config/nvim/noice.log create mode 100644 .config/rio/config.toml create mode 100644 .config/rio/themes/Everforest Dark Hard.toml create mode 100644 .config/rio/themes/Everforest Dark Med.toml create mode 100644 .config/rio/themes/Everforest Dark Soft.toml create mode 100644 .config/systemd/user/swaybg.service create mode 100644 .config/systemd/user/swayidle.service delete mode 100644 .config/vivaldi/customCSS/center_address_bar.css.bak delete mode 100644 .config/vivaldi/customCSS/frame.css.bak create mode 100644 .config/wezterm/colors/Everforest Dark Hard.toml create mode 100644 .config/wezterm/wezterm.lua create mode 100644 .config/zellij/config.kdl create mode 100644 .config/zellij/layouts/new_try_from_default.kdl create mode 100644 .instructions/fix-mime create mode 100755 .local/share/scripts/alsa-fp-switch.sh create mode 100755 .local/share/scripts/alsa-mic-amp.sh create mode 100755 .local/share/scripts/pipewire-switch-outputs-templar.sh create mode 100755 .local/share/scripts/tofi/brightnessmenu.fish rename {.config/hypr/tofi_scripts => .local/share/scripts/tofi}/brightnessmenu.sh (52%) rename {.config/hypr/tofi_scripts => .local/share/scripts/tofi}/cliphist.sh (100%) rename {.config/hypr/tofi_scripts => .local/share/scripts/tofi}/powermenu.sh (100%) create mode 100644 resolv.dgav_neu.conf diff --git a/.config/alacritty/alacritty.toml b/.config/alacritty/alacritty.toml index d38e411..1d93058 100644 --- a/.config/alacritty/alacritty.toml +++ b/.config/alacritty/alacritty.toml @@ -55,7 +55,7 @@ decorations = "none" dynamic_padding = false # opacity = 0.50 blur = true -opacity = 1 +opacity = 0.95 [window.padding] x = 0 diff --git a/.config/darkman/config.yaml b/.config/darkman/config.yaml new file mode 100644 index 0000000..789bca7 --- /dev/null +++ b/.config/darkman/config.yaml @@ -0,0 +1,3 @@ +lat: 52.5 +lng: 13.5 +portal: true diff --git a/.config/fish/config.fish b/.config/fish/config.fish index 9adcc00..aaab983 100755 --- a/.config/fish/config.fish +++ b/.config/fish/config.fish @@ -3,13 +3,16 @@ # Load all saved ssh keys #/usr/bin/ssh-add >> &/dev/null& -eval (ssh-agent -c) +if status is-interactive + eval (ssh-agent -c) +end function last_history_item echo $history[1] end # add abbreviations +abbr -a -- uin "sudo pacman -Ruscn" abbr -a -- gcp git cherry-pick abbr -a -- gs git status abbr -a -- lgb git lgb @@ -29,6 +32,8 @@ abbr -a -- v nvim 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-clean" 'nvim --headless "+Lazy! clean" +qa' +abbr -a -- turn_on_sec_mon "sed -ir '53s/\t\"off\"/\t\\/\\/\"off\"/' ~/.config/niri/monitors.kdl" +abbr -a -- turn_off_sec_mon "sed -ir '53s/\\/\\/\"off\"/\"off\"/' ~/.config/niri/monitors.kdl" alias ll "eza -lh" alias la "eza -lha" alias ls "eza" @@ -62,7 +67,7 @@ set -g fish_color_valid_path --underline starship init fish | source zoxide init --cmd cd fish | source -# atuin init fish | source +atuin init fish --disable-up-arrow | source # pnpm set -gx PNPM_HOME "/home/felix/.local/share/pnpm" diff --git a/.config/fish/functions/setscreenb.fish b/.config/fish/functions/setscreenb.fish index 8a573c1..546cbe5 100644 --- a/.config/fish/functions/setscreenb.fish +++ b/.config/fish/functions/setscreenb.fish @@ -1,6 +1,6 @@ -function setscreenb --argument x +function setscreenb --argument-names x - for i in (seq 1 2) + for i in (ddcutil detect | rg Display | sed -r "s/^Display (\d*)/$1/") ddcutil setvcp 10 $x -d $i end end diff --git a/.config/foot/foot.ini b/.config/foot/foot.ini new file mode 100644 index 0000000..c071822 --- /dev/null +++ b/.config/foot/foot.ini @@ -0,0 +1,29 @@ +[main] +#font=HurmitNerdFont:size=11:weight=regular +font=HurmitNerdFont:pixelsize=17:weight=regular +line-height=18 +#vertical-letter-offset=2px +#dpi-aware=true + +[tweak] +render-timer=none + +[colors-dark] +background = 2d353b +foreground = d3c6aa + +regular0 = 475258 +regular1 = e67e80 +regular2 = a7c080 +regular3 = dbbc7f +regular4 = 7fbbb3 +regular5 = d699b6 +regular6 = 83c092 +regular7 = d3c6aa + +alpha = 0.95 + +[csd] +preferred = none + + diff --git a/.config/hypr/hyprlock.conf b/.config/hypr/hyprlock.conf deleted file mode 100644 index 20308b4..0000000 --- a/.config/hypr/hyprlock.conf +++ /dev/null @@ -1,63 +0,0 @@ -disable_loading_bar = false - -general { - hide_cursor = true - grace = 20 - text_trim = false -} - -background { - monitor = # empty for all monitors - #path = /home/felix/Pictures/backgrounds/arch_linux_bg.png - path = screenshot - # color = rgba(20,20,20,80) - - blur_passes = 4 - blur_size = 1 - noise = 0.0717 - contrast = 0.8916 - brightness = 0.4672 - vibrancy = 0.1696 - vibrancy_darkness = 1.0 -} - -input-field { - monitor = - size = 600, 50 - outline_thickness = 1 - dots_size = 0.25 # Scale of input-field height, 0.2 - 0.8 - dots_spacing = 0.2 # Scale of dots' absolute size, 0.0 - 1.0 - dots_center = true - dots_rounding = -1 # -1 default circle, -2 follow input-field rounding - outer_color = rgba(15, 15, 15, 180) - inner_color = rgba(30, 30, 30, 180) - font_color = rgb(200, 200, 200) - fade_on_empty = true - fade_timeout = 500 # Milliseconds before fade_on_empty is triggered. - placeholder_text = Input Password... # Text rendered in the input box when it's empty. - hide_input = false - rounding = -1 # -1 means complete rounding (circle/oval) - check_color = rgba(204, 136, 34, 80) - fail_color = rgba(204, 34, 34, 80) # if authentication failed, changes outer_color and fail message color - fail_text = $FAIL ($ATTEMPTS) # can be set to empty - fail_transition = 300 # transition time in ms between normal outer_color and fail_color - capslock_color = -1 - numlock_color = -1 - bothlock_color = -1 # when both locks are active. -1 means don't change outer color (same for above) - invert_numlock = false # change color if numlock is off - - position = 0, -250 - halign = center - valign = center -} - label { - monitor = - text = $TIME - color = hsla(50, 60%, 50%, 0.8) - font_size = 35 - font_family = Z003 - - position = 0, 250 - halign = center - valign = center -} diff --git a/.config/hypr/tofi_scripts/brightnessmenu.fish b/.config/hypr/tofi_scripts/brightnessmenu.fish deleted file mode 100755 index 8ba0e3a..0000000 --- a/.config/hypr/tofi_scripts/brightnessmenu.fish +++ /dev/null @@ -1,6 +0,0 @@ -#!/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 diff --git a/.config/kitty/kitty.conf b/.config/kitty/kitty.conf index afe0ac3..344386c 100644 --- a/.config/kitty/kitty.conf +++ b/.config/kitty/kitty.conf @@ -4,78 +4,86 @@ include current-theme.conf # END_KITTY_THEME # BEGIN_COLOR_SCHEME -# background #1e1e1e +# background #1e1e1e # ↓↓same as nvim Everforest↓↓ -background #2E383C -# background #2D353B +background #2E383C +# background #2D353B # ↑↑----------↑↑ -background_opacity 0.60 -# background_opacity 1 -background_blur 1 -background_tint 0.0 -transparent_background_colors #22262D #2D313B #303030 #000 #2D353B #343F44 #3D484D #2E383C +# background_opacity 0.60 +background_opacity 0.95 +# background_opacity 1 +background_blur 1 +background_tint 0.0 +transparent_background_colors #22262D #2D313B #303030 #000 #2D353B #343F44 #3D484D #2E383C # neovim backgrounds with Everforest theme: #2D353B #343F44 # END_COLOR_SCHEME # BEGIN_KITTY_FONTS -font_family family="Hurmit Nerd Font" -bold_font auto -italic_font family='Hurmit Nerd Font' style='Light Italic' -bold_italic_font auto -font_size 13.0 -modify_font cell_height -3px +font_family family="Hurmit Nerd Font" +# font_family family="ZedMono Nerd Font" +bold_font auto +italic_font family='Hurmit Nerd Font' style='Light Italic' +bold_italic_font auto +font_size 13.0 +modify_font cell_height -3px +text_composition_stategy platform +text_fg_override_threshold 0 # END_KITTY_FONTS +# +cursor_shape block +cursor_blink_interval 0 +shell_integration no-cursor # BEGIN_SCROLLBACK -touch_scroll_multiplier 5.0 +touch_scroll_multiplier 5.0 # END_SCROLLBACK # BEGIN_WINDOW_LAYOUT -hide_window_decorations yes -window_margin_width 0 -window_padding_width 0 -single_window_padding_width -1 -placement_strategy top +hide_window_decorations yes +window_margin_width 0 +window_padding_width 0 +single_window_padding_width -1 +placement_strategy top # END_WINDOW_LAYOUT # BEGIN_TAB_BAR -tab_bar_style powerline -tab_powerline_style slanted -tab_title_template "{index} {title}" -tab_title_max_length 20 -# active_tab_background #1e1e1e -# active_tab_foreground #b4cdbe -active_tab_font_style Italic -# inactive_tab_background #1e1e1e -# inactive_tab_foreground #48736e -#inactive_tab_font_style Light +tab_bar_style powerline +tab_powerline_style slanted +tab_title_template "{index} {title}" +tab_title_max_length 20 +# active_tab_background #1e1e1e +# active_tab_foreground #b4cdbe +active_tab_font_style Italic +# inactive_tab_background #1e1e1e +# inactive_tab_foreground #48736e +#inactive_tab_font_style Light # END_TAB_BAR # BEGIN_PERFORMANCE_TUNING -repaint_delay 4 +repaint_delay 4 # END_PERFORMANCE_TUNING # BEGIN_KEYBOARD_SHORTCUTS ## BEGIN_WINDOW_MANAGEMENT -map ctrl+shift+enter new_window -map ctrl+alt+enter launch --cwd=current -map ctrl+alt+1 goto_tab 1 -map ctrl+alt+2 goto_tab 2 -map ctrl+alt+3 goto_tab 3 -map ctrl+alt+4 goto_tab 4 -map ctrl+alt+5 goto_tab 5 -map ctrl+alt+6 goto_tab 6 -map ctrl+alt+7 goto_tab 7 -map ctrl+alt+8 goto_tab 8 -map ctrl+alt+9 goto_tab 9 +map ctrl+shift+enter new_window +map ctrl+alt+enter launch --cwd=current +map ctrl+alt+1 goto_tab 1 +map ctrl+alt+2 goto_tab 2 +map ctrl+alt+3 goto_tab 3 +map ctrl+alt+4 goto_tab 4 +map ctrl+alt+5 goto_tab 5 +map ctrl+alt+6 goto_tab 6 +map ctrl+alt+7 goto_tab 7 +map ctrl+alt+8 goto_tab 8 +map ctrl+alt+9 goto_tab 9 ## BEGIN_LAYOUT_MANAGEMENT -map ctrl+alt+t goto_layout tall -map ctrl+alt+s goto_layout wide -map ctrl+alt+p last_used_layout -map alt+z toggle_layout stack +map ctrl+alt+t goto_layout tall +map ctrl+alt+s goto_layout wide +map ctrl+alt+p last_used_layout +map alt+z toggle_layout stack # END_KEYBOARD_SHORTCUTS # BEGIN_LAYOUT_DEFINITION -enabled_layouts splits:split_axis=auto, grid, stack, 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 diff --git a/.config/kitty/kitty.conf.bak b/.config/kitty/kitty.conf.bak deleted file mode 100644 index c7b3964..0000000 --- a/.config/kitty/kitty.conf.bak +++ /dev/null @@ -1,75 +0,0 @@ -# BEGIN_KITTY_THEME -# Everforest Dark Hard -include current-theme.conf -# END_KITTY_THEME - -# BEGIN_COLOR_SCHEME -# background #1e1e1e -# ↓↓same as nvim Everforest↓↓ -background #2D353B -# ↑↑----------↑↑ -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 - -# BEGIN_KITTY_FONTS -font_family family="Monofur Nerd Font" -bold_font auto -italic_font auto -bold_italic_font auto -# END_KITTY_FONTS - -# BEGIN_SCROLLBACK -touch_scroll_multiplier 5.0 -# END_SCROLLBACK - -# BEGIN_WINDOW_LAYOUT -hide_window_decorations yes -#window_padding_width 0 -placement_strategy bottom -# END_WINDOW_LAYOUT - -# BEGIN_TAB_BAR -tab_bar_style powerline -tab_powerline_style slanted -tab_title_template "{index} {title}" -tab_title_max_length 20 -# active_tab_background #1e1e1e -# active_tab_foreground #b4cdbe -# active_tab_font_style Light -# inactive_tab_background #1e1e1e -# inactive_tab_foreground #48736e -inactive_tab_font_style Light -# END_TAB_BAR - -# BEGIN_PERFORMANCE_TUNING -repaint_delay 8 -# END_PERFORMANCE_TUNING - -# BEGIN_KEYBOARD_SHORTCUTS -## BEGIN_WINDOW_MANAGEMENT -map ctrl+shift+enter new_window -map ctrl+alt+enter launch --cwd=current -map ctrl+alt+1 goto_tab 1 -map ctrl+alt+2 goto_tab 2 -map ctrl+alt+3 goto_tab 3 -map ctrl+alt+4 goto_tab 4 -map ctrl+alt+5 goto_tab 5 -map ctrl+alt+6 goto_tab 6 -map ctrl+alt+7 goto_tab 7 -map ctrl+alt+8 goto_tab 8 -map ctrl+alt+9 goto_tab 9 - -## BEGIN_LAYOUT_MANAGEMENT -map ctrl+alt+t goto_layout tall -map ctrl+alt+s goto_layout wide -map ctrl+alt+p last_used_layout -map alt+z toggle_layout stack -# END_KEYBOARD_SHORTCUTS - -# BEGIN_LAYOUT_DEFINITION -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 diff --git a/.config/niri/binds.kdl b/.config/niri/binds.kdl index 7670600..e054718 100644 --- a/.config/niri/binds.kdl +++ b/.config/niri/binds.kdl @@ -15,17 +15,24 @@ binds { Mod+O { toggle-overview; } // Suggested binds for running programs: terminal, app launcher, screen locker. - Mod+T { spawn "alacritty"; } - Mod+V { spawn-sh "~/.config/hypr/tofi_scripts/cliphist.sh"; } + // Mod+T { spawn "alacritty"; } + Mod+T { spawn "foot"; } + Mod+V { spawn-sh "~/.local/share/scripts/tofi/cliphist.sh"; } Mod+Shift+V { spawn-sh "cliphist wipe"; } - Mod+Shift+F12 { spawn "~/.config/hypr/tofi_scripts/powermenu.sh"; } + Mod+Shift+F12 { spawn "~/.local/share/scripts/tofi/powermenu.sh"; } // Mod+D { spawn "fuzzel"; } Alt+Space { spawn "tofi-drun" "--drun-launch=true"; } - Mod+Alt+B { spawn "~/.config/hypr/tofi_scripts/brightnessmenu.sh"; } + Mod+Alt+B { spawn "~/.local/share/scripts/tofi/brightnessmenu.sh"; } // Super+Alt+L { spawn "swaylock"; } + Mod+F11 { fullscreen-window; } Mod+Shift+F11 { toggle-windowed-fullscreen; } Mod+F12 { spawn-sh "swaylock --grace 10 --ignore-empty-password --indicator --clock --timestr %H:%M --datestr '' --screenshot --effect-blur 5x3 --font hurmit-nf --inside-color 00000000 --line-color 00000000 --ring-color 00ff99 --key-hl-color 066dff"; } Mod+E { spawn "dolphin"; } + Alt+P { spawn "hyprpicker"; } + + Mod+F8 { set-dynamic-cast-window; } + Mod+Alt+F8 { set-dynamic-cast-monitor; } + Mod+Shift+F8 { clear-dynamic-cast-target; } // You can also use a shell. Do this if you need pipes, multiple commands, etc. // Note: the entire command goes as a single argument in the end. @@ -144,6 +151,10 @@ binds { // Mod+Shift+WheelScrollUp { focus-column-left; } // Mod+Ctrl+Shift+WheelScrollDown { move-column-right; } // Mod+Ctrl+Shift+WheelScrollUp { move-column-left; } + Mod+Ctrl+Shift+h { move-workspace-to-monitor-left; } + Mod+Ctrl+Shift+j { move-workspace-to-monitor-down; } + Mod+Ctrl+Shift+k { move-workspace-to-monitor-up; } + Mod+Ctrl+Shift+l { move-workspace-to-monitor-right;} // Similarly, you can bind touchpad scroll "ticks". // Touchpad scrolling is continuous, so for these binds it is split into @@ -231,6 +242,7 @@ binds { // Move the focused window between the floating and the tiling layout. Alt+Mod+F { toggle-window-floating; } + Mod+Alt+Shift+F { switch-focus-between-floating-and-tiling; } // Mod+Shift+V { switch-focus-between-floating-and-tiling; } // Toggle tabbed column display mode. diff --git a/.config/niri/config.kdl b/.config/niri/config.kdl index e431d95..cf452b3 100644 --- a/.config/niri/config.kdl +++ b/.config/niri/config.kdl @@ -1,7 +1,7 @@ -spawn-at-startup "waybar" -// spawn-sh-at-startup "swaybg -m fit -i ~/Pictures/backgrounds/hibiscus-flowers-5k-5120x2880-16240.jpg" -spawn-sh-at-startup "swaybg -m fit -i ~/Pictures/backgrounds/NASA/earth-1.jpg" -spawn-sh-at-startup "swaydidle -w -C ~/.config/swayidle.conf" +// spawn-at-startup "waybar" // spawned via systemd +//// spawn-sh-at-startup "swaybg -m fit -i ~/Pictures/backgrounds/hibiscus-flowers-5k-5120x2880-16240.jpg" +// spawn-sh-at-startup "swaybg -m fit -i ~/Pictures/backgrounds/NASA/earth-1.jpg" // spawned via systemd +// spawn-sh-at-startup "swaydidle -w -C ~/.config/swayidle.conf" // spawned via systemd spawn-sh-at-startup "amixer set 'Mic Boost (+20dB)' on" spawn-sh-at-startup "scx_lavd" spawn-at-startup "dunst" @@ -13,6 +13,7 @@ spawn-sh-at-startup "wl-paste --watch cliphist store" spawn-at-startup "nm-applet" spawn-at-startup "nextcloud" "--background" spawn-at-startup "syncthing" +spawn-at-startup "telegram" workspace "1" workspace "2" @@ -20,6 +21,7 @@ workspace "3" workspace "Comms" workspace "Music" workspace "Gaming" +workspace "rdp" include "monitors.kdl" include "binds.kdl" @@ -42,9 +44,10 @@ input { keyboard { xkb { layout "gb" + // layout "de" // options "grp:win_space_toggle,compose:ralt,ctrl:nocaps" model "pc105" - options "caps:escape" + options "caps:ctrl_shifted_capslock,compose:lctrl-altgr" } repeat-rate 45 repeat-delay 300 @@ -57,6 +60,7 @@ input { // dwtp // drag-lock natural-scroll + // speed 1.1 accel-speed 0.05 accel-profile "adaptive" // scroll-method "two-finger" @@ -67,7 +71,7 @@ input { mouse { // off // natural-scroll - accel-speed -0.2 + accel-speed -0.42 accel-profile "flat" // scroll-method "no-scroll" } @@ -97,6 +101,13 @@ blur { saturation 1.5 } +cursor { + xcursor-theme "breeze_cursors" + // xcursor-size 48 + xcursor-size 24 + +} + // Settings that influence how windows are positioned and sized. // Find more information on the wiki: // https://github.com/YaLTeR/niri/wiki/Configuration:-Layout diff --git a/.config/niri/monitors.kdl b/.config/niri/monitors.kdl index c6cc60f..a821b57 100644 --- a/.config/niri/monitors.kdl +++ b/.config/niri/monitors.kdl @@ -1,3 +1,5 @@ +include "monitors/workspaces_dgav_usbc.kdl" +include "monitors/old_workspace.kdl" // You can configure outputs by their name, which you can find // by running `niri msg outputs` while inside a niri instance. @@ -9,17 +11,9 @@ output "eDP-1" { // Uncomment this line to disable this output. // off - // Resolution and, optionally, refresh rate of the output. - // The format is "x" or "x@". - // If the refresh rate is omitted, niri will pick the highest refresh rate - // for the resolution. - // If the mode is omitted altogether or is invalid, niri will pick one automatically. - // Run `niri msg outputs` while inside a niri instance to list all outputs and their modes. mode "1920x1080" - // You can use integer or fractional scale, for example use 1.5 for 150% scale. scale 1 - // Transform allows to rotate the output counter-clockwise, valid values are: // normal, 90, 180, 270, flipped, flipped-90, flipped-180 and flipped-270. transform "normal" @@ -33,8 +27,9 @@ output "Philips Consumer Electronics Company PHL 272B8Q UK01945026659" { } output "Advanced Micro Peripherals Ltd ES07D03 EVE213400622" { mode "3840x2160" - scale 1.333333 + scale 1.333 // scale 1 + // transform "270" variable-refresh-rate focus-at-startup layout { @@ -54,36 +49,19 @@ output "Advanced Micro Peripherals Ltd ES07D03 EVE213400622" { // } } } -// // half display - actually it stretches -// // output "Iiyama North America PLG2888UH 0x01010101" { -// // mode "1920x2160" -// // position x=-3840 y=0 -// // scale 1.3333 -// // } - +// desktop pc connection output "Iiyama North America PLG2888UH 0x01010101" { - "off" + //"off" mode "3840x2160" position x=-3840 y=0 - scale 1.3333 + scale 1.333 variable-refresh-rate } +// laptop connection output "Iiyama North America PLG2888UH 1141664500247" { scale 1.5 position x=0 y=-360 } -// work monitor left -output "Iiyama North America PL2492H 11511811A1794" { - mode "1920x1080" - scale 1 - position x=-1920 y=0 -} -// work monitor right -output "Iiyama North America PL2492H 1151164104155" { - mode "1920x1080" - scale 1 - position x=0 y=0 -} output "HDMI-A-2" { mode "1920x1200" scale 1 @@ -94,3 +72,11 @@ output "DP-1" { scale 1 position x=0 y=-360 } +output "DP-3" { + position x=-2560 y=720 +} +// meeting room screen +output "Samsung Electric Company SyncMaster H1AK500000" { + mode "3840x2160" + scale 1.5 +} diff --git a/.config/niri/monitors.kdlr b/.config/niri/monitors.kdlr new file mode 100644 index 0000000..18222cd --- /dev/null +++ b/.config/niri/monitors.kdlr @@ -0,0 +1,82 @@ +include "monitors/workspaces_dgav_usbc.kdl" +include "monitors/old_workspace.kdl" + +// You can configure outputs by their name, which you can find +// by running `niri msg outputs` while inside a niri instance. +// The built-in laptop monitor is usually called "eDP-1". +// Find more information on the wiki: +// https://github.com/YaLTeR/niri/wiki/Configuration:-Outputs +// Remember to uncomment the node by removing "/-"! +output "eDP-1" { + // Uncomment this line to disable this output. + // off + + mode "1920x1080" + // You can use integer or fractional scale, for example use 1.5 for 150% scale. + scale 1 + // Transform allows to rotate the output counter-clockwise, valid values are: + // normal, 90, 180, 270, flipped, flipped-90, flipped-180 and flipped-270. + transform "normal" + + position x=0 y=1080 +} +output "Philips Consumer Electronics Company PHL 272B8Q UK01945026659" { + mode "2560x1440@59.951" + scale 1 + position x=0 y=-360 +} +output "Advanced Micro Peripherals Ltd ES07D03 EVE213400622" { + mode "3840x2160" + scale 1.333 + // scale 1 + // transform "270" + variable-refresh-rate + focus-at-startup + layout { + // preset-column-widths { + // // Proportion sets the width as a fraction of the output width, taking gaps into account. + // // For example, you can perfectly fit four windows sized "proportion 0.25" on an output. + // // The default preset widths are 1/3, 1/2 and 2/3 of the output. + // // proportion 0.125 + // // proportion 0.25 + // proportion 0.33333 + // proportion 0.5 + // proportion 0.66667 + // // proportion 0.875 + // + // // Fixed sets the width in logical pixels exactly. + // // fixed 1920 + // } + } +} +// desktop pc connection +output "Iiyama North America PLG2888UH 0x01010101" { + "off" + mode "3840x2160" + position x=-3840 y=0 + scale 1.333 + variable-refresh-rate +} +// laptop connection +output "Iiyama North America PLG2888UH 1141664500247" { + scale 1.5 + position x=0 y=-360 +} +output "HDMI-A-2" { + mode "1920x1200" + scale 1 + position x=0 y=-120 +} +output "DP-1" { + mode "2560x1440" + scale 1 + position x=0 y=-360 +} +output "DP-3" { + position x=-2560 y=720 +} +// meeting room screen +output "Samsung Electric Company SyncMaster H1AK500000" { + mode "3840x2160" + scale 1.5 +} diff --git a/.config/niri/monitors/old_workspace.kdl b/.config/niri/monitors/old_workspace.kdl new file mode 100644 index 0000000..e2eee9b --- /dev/null +++ b/.config/niri/monitors/old_workspace.kdl @@ -0,0 +1,13 @@ +// work monitor left +output "Iiyama North America PL2492H 11511811A1794" { + mode "1920x1080" + scale 1 + position x=-1920 y=0 +} +// work monitor right +output "Iiyama North America PL2492H 1151164104155" { + mode "1920x1080" + scale 1 + position x=0 y=0 +} + diff --git a/.config/niri/monitors/workspaces_dgav_usbc.kdl b/.config/niri/monitors/workspaces_dgav_usbc.kdl new file mode 100644 index 0000000..1c05691 --- /dev/null +++ b/.config/niri/monitors/workspaces_dgav_usbc.kdl @@ -0,0 +1,62 @@ +output "AU Optronics 0x243D Unknown" { + mode "1920x1080" + scale 1 + position x=0 y=1080 +} +// daisy chain operator +output "Iiyama North America PL2797QC 1259460301955" { + mode "2560x1440" + scale 1 + position x=-1280 y=-360 +} +output "Iiyama North America PL2792Q 1152101502540" { + mode "2560x1440" + scale 1 + position x=1280 y=-360 +} + +// eilts' monitor +// daisy chain operator +output "Iiyama North America PL2797QC 1259460401955" { + mode "2560x1440" + scale 1 + position x=-1280 y=-360 +} +output "Iiyama North America PL2797QC 1259460401960" { + mode "2560x1440" + scale 1 + position x=1280 y=-360 +} + +// lone room +// daisy chain operator +output "Iiyama North America PL2797QC 1259460401604" { + mode "2560x1440" + scale 1 + position x=-1280 y=-360 +} +output "Iiyama North America PL2792Q 1152101502472" { + mode "2560x1440" + scale 1 + position x=1280 y=-360 +} + +// unkrodt's monitors +output "Iiyama North America PL2797QC 1259460401961" { + mode "2560x1440" + scale 1 + position x=-1280 y=-360 +} +output "Iiyama North America PL2797QC 1259460401605" { + mode "2560x1440" + scale 1 + position x=1280 y=-360 +} + +// big screen meeting room +output "Samsung Electric Company SyncMaster H1AK500000" { + mode "3840x2160" + scale 2 + position x=1920 y=1080 +} + diff --git a/.config/niri/windowrules.kdl b/.config/niri/windowrules.kdl index f9cb04f..8af5e29 100644 --- a/.config/niri/windowrules.kdl +++ b/.config/niri/windowrules.kdl @@ -12,10 +12,10 @@ window-rule { match title="^Nextcloud$" match title="^Volume Control$" match title="^Network Connections$" - match title="Bitwarden" - match title="^Extension: (Bitwarden Password Manager) - Bitwarden — Zen Browser$" - match title="Extension: (Bitwarden Password Manager) - Bitwarden — Zen Browser" - match title="^Extension:" + // match title="Bitwarden" + match title=r#".*[bB]itwarden.*"# + // match title="^Extension: (Bitwarden Password Manager) - Bitwarden — Zen Browser$" + // match title="^Extension:" match app-id="^org.kde.kwalletd6$" match app-id="^hyprland-share-picker$" match title="^Check Spelling$" @@ -28,14 +28,21 @@ window-rule { open-floating true } +// terminals window-rule { match app-id=r#"kitty"# match app-id="^Alacritty$" + match app-id="^foot$" + match app-id="^rio$" + match app-id="^org.wezfurlong.wezterm$" + match app-id="^neovide$" // opacity 0.95 draw-border-with-background false focus-ring { on } + // terminal doesn't need to be big + default-column-width { proportion 0.3333; } background-effect { blur true } @@ -48,18 +55,17 @@ window-rule { exclude title="^Vivaldi$" exclude title="^Vivaldi - login - Vivaldi$" exclude title="^Bitwarden - Vivaldi$" - exclude title=r#"^Extension:"# + exclude title=r#"Extension:"# + exclude title="^Extension:" + exclude title="^Extension: (Bitwarden Password Manager) - Bitwarden — Zen Browser$" app-id="^zen$" default-column-width { proportion 1.0; } } -// terminal doesn't need to be big window-rule { - match app-id="^Alacritty$" - default-column-width { proportion 0.3333; } -} -window-rule { - match app-id="^Thunderbird$" + match app-id="^org.mozilla.Thunderbird$" + //match app-id="^Thunderbird$" + exclude title="^Write:" default-column-width { proportion 0.9; } open-on-workspace "2" @@ -78,7 +84,7 @@ window-rule { window-rule { match app-id="^discord$" - default-column-width { proportion 0.667; } + default-column-width { proportion 0.6667; } } window-rule { @@ -105,7 +111,7 @@ window-rule { // these two will be overridden for all but the chat window default-column-width { proportion 0.2; } - default-window-height { proportion 0.333; } + default-window-height { proportion 0.3333; } open-focused false open-on-workspace "Gaming" @@ -115,7 +121,7 @@ window-rule { window-rule { match title="^Friends List$" default-column-width { proportion 0.2; } - default-window-height { proportion 0.667; } + default-window-height { proportion 0.6667; } open-focused false open-on-workspace "Gaming" @@ -132,6 +138,36 @@ window-rule { open-on-output "DP-1" } +// Games +window-rule { + match title="^Satisfactory$" + match app-id="^steam_app" + open-fullscreen true +} + +// indicating casting windows +window-rule { + match is-window-cast-target=true + + focus-ring { + off + active-color "#f38ba8" + inactive-color "#7d0d2d" + } + border { + on + width 4 + active-color "#f38ba8" + inactive-color "#7d0d2d" + } + shadow { + color "#7d0d2d70" + } + tab-indicator { + active-color "#f38ba8" + inactive-color "#7d0d2d" + } +} // Work around WezTerm's initial configure bug // by setting an empty default-column-width. @@ -148,8 +184,10 @@ window-rule { match app-id=r#"^org\.keepassxc\.KeePassXC$"# match app-id=r#"^org\.gnome\.World\.Secrets$"# match app-id=r#".*[bB]itwarden.*"# + match title=r#".*[bB]itwarden.*"# block-out-from "screen-capture" + block-out-from "screencast" // Use this instead if you want them visible on third-party screenshot tools. // block-out-from "screencast" diff --git a/.config/nvim.backup/lazy-lock.json b/.config/nvim.backup/lazy-lock.json deleted file mode 100644 index 8789a1f..0000000 --- a/.config/nvim.backup/lazy-lock.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "LuaSnip": { "branch": "master", "commit": "eda5be8f0ce9816278671f0b578cdbb8b762c701" }, - "arshamiser.nvim": { "branch": "master", "commit": "cde6378321186257b6de65913d1b4d066b369f7d" }, - "arshlib.nvim": { "branch": "master", "commit": "111fd439268adda206a24b133096893869a50764" }, - "cmp-nvim-lsp": { "branch": "main", "commit": "a8912b88ce488f411177fc8aed358b04dc246d7b" }, - "feline.nvim": { "branch": "master", "commit": "3587f57480b88e8009df7b36dc84e9c7ff8f2c49" }, - "fzf-lua": { "branch": "main", "commit": "797e87a11905cb231a24b7d9baed837451b94723" }, - "gitsigns.nvim": { "branch": "main", "commit": "6e3ee68bc9f65b21a21582a3d80e270c7e4f2992" }, - "heirline.nvim": { "branch": "master", "commit": "fae936abb5e0345b85c3a03ecf38525b0828b992" }, - "lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" }, - "listish.nvim": { "branch": "master", "commit": "3bc4bb02036f3802c6428c6232633d3192ac3604" }, - "lsp-zero.nvim": { "branch": "v3.x", "commit": "77550f2f6cbf0959ef1583d845661af075f3442b" }, - "nui.nvim": { "branch": "main", "commit": "de740991c12411b663994b2860f1a4fd0937c130" }, - "nvim-cmp": { "branch": "main", "commit": "b5311ab3ed9c846b585c0c15b7559be131ec4be9" }, - "nvim-lspconfig": { "branch": "master", "commit": "d8f03bfd5b54b10352276a0ed1f2ffe9c2e0676f" }, - "nvim-possession": { "branch": "main", "commit": "49bc69d7dd72207973e2537d73bfd9f3c1bf2678" }, - "nvim-treesitter": { "branch": "master", "commit": "42fc28ba918343ebfd5565147a42a26580579482" }, - "nvim-web-devicons": { "branch": "master", "commit": "19d6211c78169e78bab372b585b6fb17ad974e82" }, - "onedark.nvim": { "branch": "master", "commit": "11de4da47f3e69cb70c3ae9816bd8af166cbe121" }, - "plenary.nvim": { "branch": "master", "commit": "857c5ac632080dba10aae49dba902ce3abf91b35" }, - "sqls.nvim": { "branch": "main", "commit": "d1bc5421ef3e8edc5101e37edbb7de6639207a09" }, - "telescope.nvim": { "branch": "master", "commit": "776b509f80dd49d8205b9b0d94485568236d1192" }, - "transparent.nvim": { "branch": "main", "commit": "8ac59883de84e9cd1850ea25cf087031c5ba7d54" }, - "undotree": { "branch": "main", "commit": "eab459ab87dd249617b5f7187bb69e614a083047" }, - "vim-fugitive": { "branch": "master", "commit": "593f831d6f6d779cbabb70a4d1e6b1b1936a88af" }, - "wilder.nvim": { "branch": "master", "commit": "679f348dc90d80ff9ba0e7c470c40a4d038dcecf" } -} diff --git a/.config/nvim/lua/plug_init/coq_third_party.lua b/.config/nvim/lua/plug_init/coq_third_party.lua index 942ef9e..3d55dd1 100644 --- a/.config/nvim/lua/plug_init/coq_third_party.lua +++ b/.config/nvim/lua/plug_init/coq_third_party.lua @@ -1,12 +1,29 @@ -require("coq_3p").setup()({ +require("coq_3p")({ { src = "nvimlua", short_name = "nLUA", conf_only = true }, - { src = "bc", short_name = "MATH", precision = 6 }, -- scientific calculator + { src = "bc", short_name = "MATH", precision = 2 }, -- scientific calculator { src = "repl", + -- sh = "bash", sh = "fish", - shell = { p = "perl", n = "node", g = "git", ... }, - max_lines = 20, + arg = "-c", + shell = { p = "perl" }, + max_lines = 99, deadline = 500, - unsafe = { "rm", "poweroff", "mv", "cp", "systemctl", "sudo", ... }, + unsafe = { + "rm", + "mv", + "cp", + "git", + "exec", + "sed", + "eval", + "sudo", + "poweroff", + "restart", + "halt", + "systemctl", + }, }, + { src = "dap" }, + { src = "figlet", short_name = "BIG", trigger = "!big" }, }) diff --git a/.config/nvim/lua/plug_init/init.lua b/.config/nvim/lua/plug_init/init.lua index 1374e80..b222417 100644 --- a/.config/nvim/lua/plug_init/init.lua +++ b/.config/nvim/lua/plug_init/init.lua @@ -11,10 +11,10 @@ require("plug_init.mini_init") require("plug_init.ft_autocmds") require("plug_init.godot_editor") ---require("plug_init.lsp_init") +require("plug_init.coq_third_party") --require("plug_init.which_key_init") -- require("plug_init.wilder_init") --require("plug_init.color-picker_init") ---require("plug_init.neovide_conf") +require("plug_init.neovide_conf") diff --git a/.config/nvim/lua/plug_init/lazy.lua b/.config/nvim/lua/plug_init/lazy.lua index a1a2f54..ef316f8 100644 --- a/.config/nvim/lua/plug_init/lazy.lua +++ b/.config/nvim/lua/plug_init/lazy.lua @@ -1,17 +1,17 @@ -- Bootstrap lazy.nvim local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim" if not (vim.uv or vim.loop).fs_stat(lazypath) then - local lazyrepo = "https://github.com/folke/lazy.nvim.git" - local out = vim.fn.system({ "git", "clone", "--filter=blob:none", "--branch=stable", lazyrepo, lazypath }) - if vim.v.shell_error ~= 0 then - vim.api.nvim_echo({ - { "Failed to clone lazy.nvim:\n", "ErrorMsg" }, - { out, "WarningMsg" }, - { "\nPress any key to exit..." }, - }, true, {}) - vim.fn.getchar() - os.exit(1) - end + local lazyrepo = "https://github.com/folke/lazy.nvim.git" + local out = vim.fn.system({ "git", "clone", "--filter=blob:none", "--branch=stable", lazyrepo, lazypath }) + if vim.v.shell_error ~= 0 then + vim.api.nvim_echo({ + { "Failed to clone lazy.nvim:\n", "ErrorMsg" }, + { out, "WarningMsg" }, + { "\nPress any key to exit..." }, + }, true, {}) + vim.fn.getchar() + os.exit(1) + end end vim.opt.rtp:prepend(lazypath) diff --git a/.config/nvim/lua/plug_init/lsp_init.lua b/.config/nvim/lua/plug_init/lsp_init.lua index c7e739a..de9a861 100644 --- a/.config/nvim/lua/plug_init/lsp_init.lua +++ b/.config/nvim/lua/plug_init/lsp_init.lua @@ -1,3 +1,28 @@ +require("coq_3p")({ + { + src = "repl", + -- sh = "bash", + sh = "fish", + arg = "-c", + shell = { p = "perl" }, + max_lines = 99, + deadline = 500, + unsafe = { + "rm", + "mv", + "cp", + "git", + "exec", + "sed", + "eval", + "sudo", + "poweroff", + "restart", + "halt", + "systemctl", + }, + }, +}) -- vim.api.nvim_create_autocmd("LspAttach", { -- group = vim.api.nvim_create_augroup("UserLspConfig", {}), -- callback = function(ev) diff --git a/.config/nvim/lua/plug_init/neovide_conf.lua b/.config/nvim/lua/plug_init/neovide_conf.lua index d4ab2b1..20cacb6 100644 --- a/.config/nvim/lua/plug_init/neovide_conf.lua +++ b/.config/nvim/lua/plug_init/neovide_conf.lua @@ -1,12 +1,13 @@ -vim.g.neovide_refresh_rate = 60 -vim.g.neovide_refresh_rate_idle = 5 +vim.g.neovide_refresh_rate = 120 +vim.g.neovide_refresh_rate_idle = 2 vim.g.neovide_no_idle = false -vim.g.neovide_cursor_trail_size = 0.05 -vim.g.neovide_cursor_animation_length = 0.01 +vim.g.neovide_cursor_trail_size = 0.2 +vim.g.neovide_cursor_animation_length = 0.07 +vim.g.neovide_cursor_short_animation_length = 0.02 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 = 100.0 -vim.g.neovide_cursor_vfx_particle_phase = 1.0 -- mass of particles, only railgun +vim.g.neovide_cursor_vfx_particle_speed = 150.0 +vim.g.neovide_cursor_vfx_particle_phase = 1.1 -- 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 = 7 +vim.g.neovide_cursor_vfx_particle_lifetime = 0.6 +vim.g.neovide_cursor_vfx_particle_density = 15 diff --git a/.config/nvim/lua/plug_init/vim_init.lua b/.config/nvim/lua/plug_init/vim_init.lua index b3196f9..214be6f 100644 --- a/.config/nvim/lua/plug_init/vim_init.lua +++ b/.config/nvim/lua/plug_init/vim_init.lua @@ -25,6 +25,11 @@ vim.o.updatetime = 30 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.o.foldlevel = 10 + +vim.wo.foldexpr = "v:lua.vim.treesitter.foldexpr()" +vim.bo.indentexpr = "v:lua.vim.treesitter.indentexpr()" + --- vim.g.netrw_preview = 1 vim.g.netrw_liststyle = 3 diff --git a/.config/nvim/lua/plugins/git.lua b/.config/nvim/lua/plugins/git.lua new file mode 100644 index 0000000..1649786 --- /dev/null +++ b/.config/nvim/lua/plugins/git.lua @@ -0,0 +1,67 @@ +return { + { + "lewis6991/gitsigns.nvim", + event = "UIEnter", + 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 = ", - ", + 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, + }, + }, + }, + { + "NeogitOrg/neogit", + lazy = true, + dependencies = { + -- Only one of these is needed. + "sindrets/diffview.nvim", -- optional + -- "esmuellert/codediff.nvim", -- optional + + -- For a custom log pager + "m00qek/baleia.nvim", -- optional + + -- Only one of these is needed. + -- "nvim-telescope/telescope.nvim", -- optional + -- "ibhagwan/fzf-lua", -- optional + -- "nvim-mini/mini.pick", -- optional + -- "folke/snacks.nvim", -- optional + }, + cmd = "Neogit", + keys = { + { "gg", "Neogit", desc = "Show Neogit UI" }, + }, + }, +} diff --git a/.config/nvim/lua/plugins/lsp_config.lua b/.config/nvim/lua/plugins/lsp_config.lua index 1148ec9..2ba4f5c 100644 --- a/.config/nvim/lua/plugins/lsp_config.lua +++ b/.config/nvim/lua/plugins/lsp_config.lua @@ -2,6 +2,7 @@ return { { "mason-org/mason.nvim", lazy = false, + -- event = { "UIEnter" }, --cmd = { "Mason", "MasonInstall", "MasonUninstall", "MasonUpdate", "MasonUninstallAll", "MasonLog" }, opts = {}, }, @@ -9,7 +10,7 @@ return { "nvim-treesitter/nvim-treesitter", lazy = false, build = ":TSUpdate", - event = { "BufRead" }, + -- event = { "UIEnter" }, opts = { sync_install = false, auto_install = true, @@ -28,6 +29,7 @@ return { }, ensure_installed = { "bash", + -- "dart", "html", "javascript", "gdscript", @@ -43,20 +45,21 @@ return { { "mason-org/mason-lspconfig.nvim", lazy = false, + -- events = { "UIEnter" } opts = { ensure_installed = { "rust_analyzer", - "ruff", + -- "ruff", "biome", --"quick_lint_js", --"eslint", "html", "cssls", - "sqls", - "hyprls", + -- "sqls", + -- "hyprls", "lua_ls", -- "pylyzer", - "vimls", + -- "vimls", "ts_ls", }, automatic_enable = { true, rust_analyzer = false }, @@ -74,24 +77,30 @@ return { -- lua & third party sources -- See https://github.com/ms-jpq/coq.thirdparty -- Need to **configure separately** - --{ "ms-jpq/coq.thirdparty", branch = "3p", lazy = false }, + { "ms-jpq/coq.thirdparty", branch = "3p", lazy = false }, -- - shell repl -- - nvim lua api -- - scientific calculator -- - comment banner -- - etc }, + opts = { + -- inlay_hint = { enabled = true }, + -- lsp = { + -- inlay_hint = { enabled = true }, + -- }, + }, init = function() - vim.g.coq_settings = { - auto_start = true, -- if you want to start COQ at startup - -- Your COQ settings here - display = { statusline = { helo = false } }, -- disable greeting notification - } + vim.g.coq_settings = {} -- Your COQ settings here + + -- vim.lsp.inlay_hints.enable() end, + --coq.nvim: lsp_ensure_capabilities is a no-op in v2. neovim 0.12's vim.lsp.protocol.make_client_capabilities() already covers what v1 used to inject. Drop the wrapping call. + ---@type vim.lsp.Config config = function() vim.lsp.config( "rust_analyzer", - coq.lsp_ensure_capabilities({ + vim.lsp.protocol.make_client_capabilities({ settings = { ["rust-analyzer"] = { imports = { @@ -109,22 +118,27 @@ return { enable = true, }, }, + -- inlay_hint = { enabled = true }, }, }) ) - vim.lsp.config("gdscript", coq.lsp_ensure_capabilities({})) - - --vim.lsp.enable({ "lua_ls" }) + -- vim.lsp.enable("gdscript") + -- vim.lsp.enable({ "gdscript" }) + -- 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 - vim.bo[ev.buf].omnifunc = "v:lua.vim.lsp.omnifunc" + -- vim.o[ev.buf].omnifunc = vim.lsp.omnifunc -- TODO: fix this + -- vim.o.omnifunc.set(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", "le", vim.diagnostic.open_float) + -- vim.keymap.set("n", "lh", vim.lsp.inlay_hint.enable(not vim.lsp.inlay_hint.is_enabled())) vim.keymap.set("n", "gD", vim.lsp.buf.declaration, opts) vim.keymap.set("n", "gd", vim.lsp.buf.definition, opts) + vim.keymap.set("n", "gi", vim.lsp.buf.incoming_calls, opts) + vim.keymap.set("n", "go", vim.lsp.buf.outgoing_calls, opts) vim.keymap.set("n", "K", vim.lsp.buf.hover, opts) vim.keymap.set("n", "wa", vim.lsp.buf.add_workspace_folder, opts) vim.keymap.set("n", "wr", vim.lsp.buf.remove_workspace_folder, opts) @@ -132,6 +146,13 @@ return { end, }) end, + -- keys = { + -- { + -- "lh", + -- function() vim.lsp.inlay_hint.enable(not vim.lsp.inlay_hint.is_enabled()) end, + -- desc = "toggle inlay hints", + -- }, + -- }, }, { "mfussenegger/nvim-lint", @@ -140,6 +161,7 @@ return { opts = { linters_by_ft = { cpp = { "cpplint" }, + dart = { "flutter" }, gdscript = { "gdlint" }, gitcommit = { "commitlint" }, lua = { "ast-grep" }, @@ -162,17 +184,17 @@ return { -- supposedly faster formatter { "stevearc/conform.nvim", - event = { "BufWritePost" }, + event = { "BufWritePre" }, keys = { { "i", - function() require("conform").format({ async = true }) end, + --function() require("conform").format({ async = true }) end, desc = "Auto format file with formatter, also on F3", }, { "F3", - function() require("conform").format({ async = true }) end, - mode = { "n", "i" }, + --function() require("conform").format({ async = true }) end, + --mode = { "n", "i" }, desc = "Auto format file with formatter", }, }, @@ -224,10 +246,11 @@ return { end, }, }, - { "nvim-treesitter/nvim-treesitter-textobjects", lazy = true, event = "BufRead" }, + -- { "nvim-treesitter/nvim-treesitter-textobjects", lazy = true, event = "BufRead" }, { "nvim-treesitter/nvim-treesitter-context", lazy = true, + branch = "master", event = "BufRead", opts = { enable = true, -- Enable this plugin (Can be enabled/disabled later via commands) @@ -246,7 +269,17 @@ return { }, }, { - "jubnzv/virtual-types.nvim", + "nvim-flutter/flutter-tools.nvim", lazy = false, + --event = { "BufEnter" }, + --ft = "*.dart", + dependencies = { + "nvim-lua/plenary.nvim", + }, + config = true, }, + -- { + -- "jubnzv/virtual-types.nvim", + -- lazy = false, + -- }, } diff --git a/.config/nvim/lua/plugins/lualine.lua b/.config/nvim/lua/plugins/lualine.lua index edaa3c4..7e051dc 100644 --- a/.config/nvim/lua/plugins/lualine.lua +++ b/.config/nvim/lua/plugins/lualine.lua @@ -2,7 +2,7 @@ return { "nvim-lualine/lualine.nvim", dependencies = { "nvim-tree/nvim-web-devicons" }, lazy = true, - event = { "VeryLazy" }, + event = { "UIEnter" }, opts = { options = { icons_enabled = true, @@ -87,7 +87,7 @@ return { }, }, "filetype", - 'require"lsp-status".status()', + -- require("lsp-status").status.get, }, lualine_y = { "searchcount", "progress" }, lualine_z = { "selectioncount", "location" }, diff --git a/.config/nvim/lua/plugins/peanuts.lua b/.config/nvim/lua/plugins/peanuts.lua index 208a7d7..a9a8fa1 100644 --- a/.config/nvim/lua/plugins/peanuts.lua +++ b/.config/nvim/lua/plugins/peanuts.lua @@ -43,7 +43,7 @@ return { { "rcarriga/nvim-notify", lazy = true }, -- dep of noice.nvim { "nvim-mini/mini.nvim", - lazy = true, + event = { "UIEnter" }, version = false, }, { @@ -54,13 +54,100 @@ return { modes = { ":", "/", "?" }, }, }, + -- { + -- "OXY2DEV/markview.nvim", + -- lazy = true, + -- ft = "Markdown", + -- -- keys = { "M", mode = { "n" }, "Markview toggle", desc = "Toggle Markdown render" }, + -- cmd = "Markview", + -- event = { "BufRead *.md" }, + -- }, { - "OXY2DEV/markview.nvim", - lazy = true, - ft = "Markdown", - -- keys = { "M", mode = { "n" }, "Markview toggle", desc = "Toggle Markdown render" }, - cmd = "Markview", - event = { "BufRead *.md" }, + "MeanderingProgrammer/render-markdown.nvim", + dependencies = { "nvim-treesitter/nvim-treesitter", "nvim-mini/mini.nvim" }, -- if you use the mini.nvim suite + -- dependencies = { 'nvim-treesitter/nvim-treesitter', 'nvim-mini/mini.icons' }, -- if you use standalone mini plugins + -- dependencies = { 'nvim-treesitter/nvim-treesitter', 'nvim-tree/nvim-web-devicons' }, -- if you prefer nvim-web-devicons + ---@module 'render-markdown' + ---@type render.md.UserConfig + opts = { + checkbox = { + enabled = true, + render_modes = true, + position = "inline", + unchecked = { icon = "󰄱 ", highlight = "RenderMarkdownUnchecked" }, + checked = { icon = "󰱒 ", highlight = "RenderMarkdownChecked" }, + custom = { + todo = { raw = "[-]", rendered = "󰗡 Todo", highlight = "RenderMarkdownTodo" }, + }, + }, + }, + event = { "BufEnter *.md" }, + }, + { + -- filetypes for mermaid: + -- .mmd + -- .mermaid + "kevalin/mermaid.nvim", + dependencies = { + "nvim-treesitter/nvim-treesitter", + }, + opts = { + format = { + shift_width = 4, -- Indentation size (spaces) + }, + lint = { + enabled = true, -- Enable diagnostics via mmdc + command = "mmdc", -- Path to mermaid-cli executable + }, + preview = { + renderer = "mermaid.js", -- "mermaid.js" or "beautiful-mermaid" + theme = "dark", -- Theme name (renderer-specific) + }, + }, + config = { + vim.api.nvim_create_autocmd("FileType", { + pattern = "mermaid", + callback = function() + local buf = vim.api.nvim_get_current_buf() + vim.keymap.set( + "n", + "mp", + "MermaidPreview", + { buffer = buf, desc = "Mermaid Preview" } + ) + vim.keymap.set( + "n", + "mf", + "MermaidFormat", + { buffer = buf, desc = "Mermaid Format" } + ) + vim.keymap.set( + "n", + "mr", + "MermaidRender", + { buffer = buf, desc = "Mermaid Render" } + ) + vim.keymap.set( + "n", + "mc", + "MermaidCopyURL", + { buffer = buf, desc = "Mermaid Copy URL" } + ) + vim.keymap.set( + "n", + "mx", + "MermaidPreviewStop", + { buffer = buf, desc = "Mermaid Stop Preview" } + ) + end, + }), + }, + + -- config = function() + -- require("mermaid").setup() + -- -- Install the Tree-sitter parser: + -- -- :TSInstall mermaid + -- end }, { "norcalli/nvim-colorizer.lua", @@ -126,54 +213,11 @@ return { }, { "folke/trouble.nvim", - opts = {}, + opts = { use_diagnostic_signs = true }, cmd = "Trouble", lazy = true, keys = { "x" }, }, - { - "lewis6991/gitsigns.nvim", - event = "UIEnter", - 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 = ", - ", - 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", diff --git a/.config/nvim/lua/plugins/snacks.nvim.lua b/.config/nvim/lua/plugins/snacks.nvim.lua index 90fca48..2d534b5 100644 --- a/.config/nvim/lua/plugins/snacks.nvim.lua +++ b/.config/nvim/lua/plugins/snacks.nvim.lua @@ -17,5 +17,54 @@ return { scroll = { enabled = true }, statuscolumn = { enabled = true }, words = { enabled = false }, + zen = { + enabled = true, + -- You can add any `Snacks.toggle` id here. + -- Toggle state is restored when the window is closed. + -- Toggle config options are NOT merged. + ---@type table + toggles = { + dim = false, + git_signs = false, + mini_diff_signs = false, + diagnostics = true, + inlay_hints = true, + }, + center = true, + show = { + statusline = false, + tabline = false, + windowline = false, + }, + ---@type snacks.win.Config + win = { style = "zen" }, + --- Callback when the window is opened. + ---@param win snacks.win + on_open = function(win) end, + --- Callback when the window is closed. + ---@param win snacks.win + on_close = function(win) end, + --- Options for the `Snacks.zen.zoom()` + ---@type snacks.zen.Config + zoom = { + toggles = {}, + center = false, + show = { statusline = true, tabline = true }, + win = { + backdrop = false, + width = 0, -- full width + }, + }, + }, + }, + styles = { + zen = { + backdrop = { transparent = false }, + keys = { q = false }, -- for enabling/disabling recording of macros + }, + }, + keys = { + { "z", function() Snacks.zen() end, desc = "Toggle Zen Mode" }, + { "Z", function() Snacks.zen.zoom() end, desc = "Toggle Zoom" }, }, } diff --git a/.config/nvim/lua/plugins/typst.lua b/.config/nvim/lua/plugins/typst.lua new file mode 100644 index 0000000..d5bff5c --- /dev/null +++ b/.config/nvim/lua/plugins/typst.lua @@ -0,0 +1,16 @@ +return { + { + "chomosuke/typst-preview.nvim", + lazy = false, -- or ft = 'typst' + version = "1.*", + opts = {}, -- lazy.nvim will implicitly calls `setup {}` + }, + -- { + -- "al-kot/typst-preview.nvim", + -- ft = { "typst" }, + -- opts = { + -- -- + -- -- your config here + -- }, + -- }, +} diff --git a/.config/nvim/lua/plugins/which_key.lua b/.config/nvim/lua/plugins/which_key.lua index a07d44b..7d3868b 100644 --- a/.config/nvim/lua/plugins/which_key.lua +++ b/.config/nvim/lua/plugins/which_key.lua @@ -76,6 +76,24 @@ return { { "gu", "Gitsigns undo_stage_hunk", desc = "Undo Stage Hunk" }, { "le", vim.diagnostic.open_float, desc = "Open diagnostic float" }, + { + "lh", + function() vim.lsp.inlay_hint.enable(not vim.lsp.inlay_hint.is_enabled()) end, + desc = "toggle inlay hints", + }, + { + "i", + function() require("conform").format({ async = true }) end, + mode = "n", + silent = true, + desc = "Auto format file with formatter, also on F3", + }, + { + "F3", + function() require("conform").format({ async = true }) end, + mode = { "n", "i" }, + desc = "Auto format file with formatter", + }, { "K", desc = "Show definition" }, -- { "d", group = "Debugging" }, -- { @@ -85,6 +103,9 @@ return { -- { "dc", require("dap").continue, desc = "Continue" }, -- }, + -- { "z", function() Snacks.zen() end, desc = "Toggle Zen Mode" }, + -- { "Z", function() Snacks.zen.zoom() end, desc = "Toggle Zoom" }, + -- trouble plugin { "xx", "Trouble diagnostics toggle", desc = "Diagnostics (Trouble)" }, { @@ -104,8 +125,13 @@ return { -- QOL shortcuts { "n", "nohl", desc = "Stop highlighting search results" }, { "m", "NoiceDismiss", desc = "Dismiss notifications" }, - { "M", "Markview toggle", desc = "Markview toggle source view" }, - + -- { "M", "Markview toggle", desc = "Markview toggle source view" }, + { + "M", + mode = { "n" }, + function() require("render-markdown").toggle() end, + desc = "Toggle Markdown render", + }, { "r", group = "Rename" }, { "rr", vim.lsp.buf.rename, opts, desc = "Rename Variable" }, @@ -127,6 +153,21 @@ return { { "tn", "tabnext", desc = "Next Tab" }, { "tp", "tabprevious", desc = "Previous Tab" }, + -- { "Ts", function() require("typst-preview").start() end, desc = "Start Typst preview" }, + -- { "Tq", function() require("typst-preview").stop() end, desc = "Stop Typst preview" }, + -- { "Tn", function() require("typst-preview").next_page() end, desc = "Next page" }, + -- { + -- "Tp", + -- function() + -- require("typst-preview") + -- prev_page() + -- end, + -- desc = "Previous page", + -- }, + -- { "Tr", function() require("typst-preview").refresh() end, desc = "Refresh preview" }, + -- { "Tgg", function() require("typst-preview").first_page() end, desc = "First page" }, + -- { "TG", function() require("typst-preview").last_page() end, desc = "Last page" }, + { "u", desc = "Toggle undo-tree" }, { "w", group = "Workspaces + Whichkey" }, { "wa", desc = "Add workspace folder" }, @@ -238,7 +279,7 @@ return { { "gD", desc = "go to declaration" }, { "gd", desc = "go to definition" }, { "gi", desc = "show implementations" }, - { "gr", desc = "list all references to symbol under cursor" }, + { "gr", vim.lsp.buf.references, desc = "list all references to symbol under cursor" }, --undotree { "j", desc = "jump to next undo node" }, diff --git a/.config/nvim/noice.log b/.config/nvim/noice.log new file mode 100644 index 0000000..17ea5e4 --- /dev/null +++ b/.config/nvim/noice.log @@ -0,0 +1,752 @@ +{ + event = "msg_showcmd", + kind = {} +} +{ { { 134, 'vim.tbl_flatten is deprecated. Run ":checkhealth vim.deprecated" for more information', 26 } }, false, true, false, 1, "", + event = "msg_show", + kind = "echomsg" +} +{ + event = "msg_showcmd", + kind = { { 0, ":", 0 } } +} +{ 0, ":", "", 0, 1, 0, + event = "cmdline_show", + kind = { { 0, "", 0 } } +} +{ 1, ":", "", 0, 1, 0, + event = "cmdline_show", + kind = { { 0, "w", 0 } } +} +{ 2, ":", "", 0, 1, 0, + event = "cmdline_show", + kind = { { 0, "wa", 0 } } +} +{ 3, ":", "", 0, 1, 0, + event = "cmdline_show", + kind = { { 0, "war", 0 } } +} +{ 2, ":", "", 0, 1, 0, + event = "cmdline_show", + kind = { { 0, "wa", 0 } } +} +{ 1, ":", "", 0, 1, 0, + event = "cmdline_show", + kind = { { 0, "w", 0 } } +} +{ 0, ":", "", 0, 1, 0, + event = "cmdline_show", + kind = { { 0, "", 0 } } +} +{ 1, ":", "", 0, 1, 0, + event = "cmdline_show", + kind = { { 0, "m", 0 } } +} +{ {}, false, false, false, -1, "", + event = "msg_show", + kind = "empty" +} +{ true, + event = "cmdline_hide", + kind = 1 +} +{ + event = "msg_showcmd", + kind = {} +} +{ + event = "msg_showcmd", + kind = { { 0, ":", 0 } } +} +{ 0, ":", "", 0, 1, 0, + event = "cmdline_show", + kind = { { 0, "", 0 } } +} +{ 1, ":", "", 0, 1, 0, + event = "cmdline_show", + kind = { { 0, "m", 0 } } +} +{ 2, ":", "", 0, 1, 0, + event = "cmdline_show", + kind = { { 0, "me", 0 } } +} +{ 3, ":", "", 0, 1, 0, + event = "cmdline_show", + kind = { { 0, "mes", 0 } } +} +{ 4, ":", "", 0, 1, 0, + event = "cmdline_show", + kind = { { 0, "mess", 0 } } +} +{ 8, ":", "", 0, 1, 0, + event = "cmdline_show", + kind = { { 0, "messages", 0 } } +} +{ false, + event = "cmdline_hide", + kind = 1 +} +{ false, + event = "msg_history_show", + kind = { { "echomsg", { { 134, 'vim.tbl_flatten is deprecated. Run ":checkhealth vim.deprecated" for more information', 26 } }, false } } +} +{ + event = "msg_showcmd", + kind = {} +} +{ + event = "msg_showcmd", + kind = { { 0, "j", 0 } } +} +{ + event = "msg_showcmd", + kind = {} +} +{ + event = "msg_showcmd", + kind = { { 0, "k", 0 } } +} +{ + event = "msg_showcmd", + kind = {} +} +{ + event = "msg_showcmd", + kind = { { 0, "k", 0 } } +} +{ + event = "msg_showcmd", + kind = {} +} +{ + event = "msg_showcmd", + kind = { { 0, "^M", 0 } } +} +{ + event = "msg_showcmd", + kind = {} +} +{ + event = "msg_showcmd", + kind = { { 0, ":", 0 } } +} +{ 0, ":", "", 0, 1, 0, + event = "cmdline_show", + kind = { { 0, "", 0 } } +} +{ 1, ":", "", 0, 1, 0, + event = "cmdline_show", + kind = { { 0, "q", 0 } } +} +{ false, + event = "cmdline_hide", + kind = 1 +} +{ + event = "msg_showcmd", + kind = {} +} +{ + event = "msg_showcmd", + kind = { { 0, ":", 0 } } +} +{ 0, ":", "", 0, 1, 0, + event = "cmdline_show", + kind = { { 0, "", 0 } } +} +{ 1, ":", "", 0, 1, 0, + event = "cmdline_show", + kind = { { 0, "M", 0 } } +} +{ 0, ":", "", 0, 1, 0, + event = "cmdline_show", + kind = { { 0, "", 0 } } +} +{ 1, ":", "", 0, 1, 0, + event = "cmdline_show", + kind = { { 0, "N", 0 } } +} +{ 2, ":", "", 0, 1, 0, + event = "cmdline_show", + kind = { { 0, "No", 0 } } +} +{ 3, ":", "", 0, 1, 0, + event = "cmdline_show", + kind = { { 0, "Noi", 0 } } +} +{ 4, ":", "", 0, 1, 0, + event = "cmdline_show", + kind = { { 0, "Noic", 0 } } +} +{ 5, ":", "", 0, 1, 0, + event = "cmdline_show", + kind = { { 0, "Noice", 0 } } +} +{ 5, ":", "", 0, 1, 0, + event = "cmdline_show", + kind = { { 0, "Noice", 0 } } +} +{ 8, ":", "", 0, 1, 0, + event = "cmdline_show", + kind = { { 0, "NoiceAll", 0 } } +} +{ 11, ":", "", 0, 1, 0, + event = "cmdline_show", + kind = { { 0, "NoiceConfig", 0 } } +} +{ 10, ":", "", 0, 1, 0, + event = "cmdline_show", + kind = { { 0, "NoiceDebug", 0 } } +} +{ false, + event = "cmdline_hide", + kind = 1 +} +{ + event = "msg_showcmd", + kind = {} +} +{ + event = "msg_showcmd", + kind = { { 0, ":", 0 } } +} +{ 0, ":", "", 0, 1, 0, + event = "cmdline_show", + kind = { { 0, "", 0 } } +} +{ 1, ":", "", 0, 1, 0, + event = "cmdline_show", + kind = { { 0, "N", 0 } } +} +{ 2, ":", "", 0, 1, 0, + event = "cmdline_show", + kind = { { 0, "No", 0 } } +} +{ 3, ":", "", 0, 1, 0, + event = "cmdline_show", + kind = { { 0, "Noi", 0 } } +} +{ 4, ":", "", 0, 1, 0, + event = "cmdline_show", + kind = { { 0, "Noir", 0 } } +} +{ 5, ":", "", 0, 1, 0, + event = "cmdline_show", + kind = { { 0, "Noirc", 0 } } +} +{ 6, ":", "", 0, 1, 0, + event = "cmdline_show", + kind = { { 0, "Noirce", 0 } } +} +{ 7, ":", "", 0, 1, 0, + event = "cmdline_show", + kind = { { 0, "Noirce ", 0 } } +} +{ 6, ":", "", 0, 1, 0, + event = "cmdline_show", + kind = { { 0, "Noirce", 0 } } +} +{ 5, ":", "", 0, 1, 0, + event = "cmdline_show", + kind = { { 0, "Noirc", 0 } } +} +{ 4, ":", "", 0, 1, 0, + event = "cmdline_show", + kind = { { 0, "Noir", 0 } } +} +{ 3, ":", "", 0, 1, 0, + event = "cmdline_show", + kind = { { 0, "Noi", 0 } } +} +{ 4, ":", "", 0, 1, 0, + event = "cmdline_show", + kind = { { 0, "Noic", 0 } } +} +{ 5, ":", "", 0, 1, 0, + event = "cmdline_show", + kind = { { 0, "Noice", 0 } } +} +{ 5, ":", "", 0, 1, 0, + event = "cmdline_show", + kind = { { 0, "Noice", 0 } } +} +{ 6, ":", "", 0, 1, 0, + event = "cmdline_show", + kind = { { 0, "Noice ", 0 } } +} +{ 12, ":", "", 0, 1, 0, + event = "cmdline_show", + kind = { { 0, "Noice snacks", 0 } } +} +{ 12, ":", "", 0, 1, 0, + event = "cmdline_show", + kind = { { 0, "Noice routes", 0 } } +} +{ 12, ":", "", 0, 1, 0, + event = "cmdline_show", + kind = { { 0, "Noice errors", 0 } } +} +{ 11, ":", "", 0, 1, 0, + event = "cmdline_show", + kind = { { 0, "Noice debug", 0 } } +} +{ 12, ":", "", 0, 1, 0, + event = "cmdline_show", + kind = { { 0, "Noice config", 0 } } +} +{ 10, ":", "", 0, 1, 0, + event = "cmdline_show", + kind = { { 0, "Noice last", 0 } } +} +{ 11, ":", "", 0, 1, 0, + event = "cmdline_show", + kind = { { 0, "Noice stats", 0 } } +} +{ 13, ":", "", 0, 1, 0, + event = "cmdline_show", + kind = { { 0, "Noice dismiss", 0 } } +} +{ 10, ":", "", 0, 1, 0, + event = "cmdline_show", + kind = { { 0, "Noice pick", 0 } } +} +{ 9, ":", "", 0, 1, 0, + event = "cmdline_show", + kind = { { 0, "Noice all", 0 } } +} +{ 13, ":", "", 0, 1, 0, + event = "cmdline_show", + kind = { { 0, "Noice disable", 0 } } +} +{ 9, ":", "", 0, 1, 0, + event = "cmdline_show", + kind = { { 0, "Noice log", 0 } } +} +{ false, + event = "cmdline_hide", + kind = 1 +} +{ + event = "msg_showcmd", + kind = {} +} +{ + event = "msg_showcmd", + kind = { { 0, "G", 0 } } +} +{ + event = "msg_showcmd", + kind = {} +} +{ + event = "msg_showcmd", + kind = { { 0, "k", 0 } } +} +{ + event = "msg_showcmd", + kind = {} +} +{ + event = "msg_showcmd", + kind = { { 0, "k", 0 } } +} +{ + event = "msg_showcmd", + kind = {} +} +{ + event = "msg_showcmd", + kind = { { 0, "k", 0 } } +} +{ + event = "msg_showcmd", + kind = {} +} +{ + event = "msg_showcmd", + kind = { { 0, "k", 0 } } +} +{ + event = "msg_showcmd", + kind = {} +} +{ + event = "msg_showcmd", + kind = { { 0, "k", 0 } } +} +{ + event = "msg_showcmd", + kind = {} +} +{ + event = "msg_showcmd", + kind = { { 0, "k", 0 } } +} +{ + event = "msg_showcmd", + kind = {} +} +{ + event = "msg_showcmd", + kind = { { 0, "k", 0 } } +} +{ + event = "msg_showcmd", + kind = {} +} +{ + event = "msg_showcmd", + kind = { { 0, "k", 0 } } +} +{ + event = "msg_showcmd", + kind = {} +} +{ + event = "msg_showcmd", + kind = { { 0, "k", 0 } } +} +{ + event = "msg_showcmd", + kind = {} +} +{ + event = "msg_showcmd", + kind = { { 0, "k", 0 } } +} +{ + event = "msg_showcmd", + kind = {} +} +{ + event = "msg_showcmd", + kind = { { 0, "k", 0 } } +} +{ + event = "msg_showcmd", + kind = {} +} +{ + event = "msg_showcmd", + kind = { { 0, "k", 0 } } +} +{ + event = "msg_showcmd", + kind = {} +} +{ + event = "msg_showcmd", + kind = { { 0, "k", 0 } } +} +{ + event = "msg_showcmd", + kind = {} +} +{ + event = "msg_showcmd", + kind = { { 0, "k", 0 } } +} +{ + event = "msg_showcmd", + kind = {} +} +{ + event = "msg_showcmd", + kind = { { 0, "k", 0 } } +} +{ + event = "msg_showcmd", + kind = {} +} +{ + event = "msg_showcmd", + kind = { { 0, "k", 0 } } +} +{ + event = "msg_showcmd", + kind = {} +} +{ + event = "msg_showcmd", + kind = { { 0, "k", 0 } } +} +{ + event = "msg_showcmd", + kind = {} +} +{ + event = "msg_showcmd", + kind = { { 0, "k", 0 } } +} +{ + event = "msg_showcmd", + kind = {} +} +{ + event = "msg_showcmd", + kind = { { 0, "k", 0 } } +} +{ + event = "msg_showcmd", + kind = {} +} +{ + event = "msg_showcmd", + kind = { { 0, "k", 0 } } +} +{ + event = "msg_showcmd", + kind = {} +} +{ + event = "msg_showcmd", + kind = { { 0, "k", 0 } } +} +{ + event = "msg_showcmd", + kind = {} +} +{ + event = "msg_showcmd", + kind = { { 0, "k", 0 } } +} +{ + event = "msg_showcmd", + kind = {} +} +{ + event = "msg_showcmd", + kind = { { 0, "k", 0 } } +} +{ + event = "msg_showcmd", + kind = {} +} +{ + event = "msg_showcmd", + kind = { { 0, "d", 0 } } +} +{ + event = "msg_showcmd", + kind = { { 0, "dgg", 0 } } +} +{ { { 0, "4280 fewer lines", 0 } }, false, true, false, 2, "", + event = "msg_show", + kind = "" +} +{ + event = "msg_showcmd", + kind = {} +} +{ + event = "msg_showcmd", + kind = { { 0, ":", 0 } } +} +{ 0, ":", "", 0, 1, 0, + event = "cmdline_show", + kind = { { 0, "", 0 } } +} +{ 1, ":", "", 0, 1, 0, + event = "cmdline_show", + kind = { { 0, "w", 0 } } +} +{ false, + event = "cmdline_hide", + kind = 1 +} +{ { { 0, '"~/.local/state/nvim/noice.log" ', 0 } }, false, false, false, 3, "typed_cmd", + event = "msg_show", + kind = "bufwrite" +} +{ { { 0, '"~/.local/state/nvim/noice.log" 23L, 1698B written', 0 } }, true, true, false, 4, "typed_cmd", + event = "msg_show", + kind = "bufwrite" +} +{ + event = "msg_showcmd", + kind = {} +} +{ + event = "msg_showcmd", + kind = { { 0, "j", 0 } } +} +{ + event = "msg_showcmd", + kind = {} +} +{ + event = "msg_showcmd", + kind = { { 0, "j", 0 } } +} +{ + event = "msg_showcmd", + kind = {} +} +{ + event = "msg_showcmd", + kind = { { 0, "j", 0 } } +} +{ + event = "msg_showcmd", + kind = {} +} +{ + event = "msg_showcmd", + kind = { { 0, "j", 0 } } +} +{ + event = "msg_showcmd", + kind = {} +} +{ + event = "msg_showcmd", + kind = { { 0, "j", 0 } } +} +{ + event = "msg_showcmd", + kind = {} +} +{ + event = "msg_showcmd", + kind = { { 0, "j", 0 } } +} +{ + event = "msg_showcmd", + kind = {} +} +{ + event = "msg_showcmd", + kind = { { 0, "j", 0 } } +} +{ + event = "msg_showcmd", + kind = {} +} +{ + event = "msg_showcmd", + kind = { { 0, "j", 0 } } +} +{ + event = "msg_showcmd", + kind = {} +} +{ + event = "msg_showcmd", + kind = { { 0, "j", 0 } } +} +{ + event = "msg_showcmd", + kind = {} +} +{ + event = "msg_showcmd", + kind = { { 0, "j", 0 } } +} +{ + event = "msg_showcmd", + kind = {} +} +{ + event = "msg_showcmd", + kind = { { 0, "j", 0 } } +} +{ + event = "msg_showcmd", + kind = {} +} +{ + event = "msg_showcmd", + kind = { { 0, "j", 0 } } +} +{ + event = "msg_showcmd", + kind = {} +} +{ + event = "msg_showcmd", + kind = { { 0, "j", 0 } } +} +{ + event = "msg_showcmd", + kind = {} +} +{ + event = "msg_showcmd", + kind = { { 0, "j", 0 } } +} +{ + event = "msg_showcmd", + kind = {} +} +{ + event = "msg_showcmd", + kind = { { 0, "j", 0 } } +} +{ + event = "msg_showcmd", + kind = {} +} +{ + event = "msg_showcmd", + kind = { { 0, "j", 0 } } +} +{ + event = "msg_showcmd", + kind = {} +} +{ + event = "msg_showcmd", + kind = { { 0, "j", 0 } } +} +{ + event = "msg_showcmd", + kind = {} +} +{ + event = "msg_showcmd", + kind = { { 0, "j", 0 } } +} +{ + event = "msg_showcmd", + kind = {} +} +{ + event = "msg_showcmd", + kind = { { 0, "j", 0 } } +} +{ + event = "msg_showcmd", + kind = {} +} +{ + event = "msg_showcmd", + kind = { { 0, "j", 0 } } +} +{ + event = "msg_showcmd", + kind = {} +} +{ + event = "msg_showcmd", + kind = { { 0, "j", 0 } } +} +{ + event = "msg_showcmd", + kind = {} +} +{ + event = "msg_showcmd", + kind = { { 0, ":", 0 } } +} +{ 0, ":", "", 0, 1, 0, + event = "cmdline_show", + kind = { { 0, "", 0 } } +} +{ 1, ":", "", 0, 1, 0, + event = "cmdline_show", + kind = { { 0, "q", 0 } } +} +{ false, + event = "cmdline_hide", + kind = 1 +} diff --git a/.config/paru/paru.conf b/.config/paru/paru.conf index 487e63d..ca101da 100644 --- a/.config/paru/paru.conf +++ b/.config/paru/paru.conf @@ -1,6 +1,5 @@ [options] #AurOnly -#BottomUp #CleanAfter #CombinedUpgrade #RemoveMake @@ -8,7 +7,7 @@ BottomUp Devel DevelSuffixes = -git -cvs -svn -bzr -darcs -always -hg -fossil -# NewsOnUpgrade +NewsOnUpgrade PgpFetch # Provides SaveChanges @@ -16,3 +15,5 @@ UpgradeMenu UseAsk Limit = 50 +[bin] +FileManager=/usr/bin/nvim diff --git a/.config/qt6ct/qt6ct.conf b/.config/qt6ct/qt6ct.conf index dea194e..5f5ee45 100644 --- a/.config/qt6ct/qt6ct.conf +++ b/.config/qt6ct/qt6ct.conf @@ -1,11 +1,11 @@ [Appearance] -color_scheme_path=/usr/share/qt6ct/colors/darker.conf +color_scheme_path=/usr/share/color-schemes/BreezeDark.colors custom_palette=true standard_dialogs=xdgdesktopportal style=Breeze [Fonts] -fixed="monospace,9,-1,2,400,0,0,0,0,0,0,0,0,0,0,1,,0,0" +fixed="Hack,9,-1,5,400,0,0,0,0,0,0,0,0,0,0,1,,0,0" general="Sans Serif,9,-1,5,400,0,0,0,0,0,0,0,0,0,0,1,,0,0" [Interface] @@ -23,8 +23,11 @@ toolbutton_style=4 underline_shortcut=1 wheel_scroll_lines=3 +[QSSEditor] +geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x3\0\0\xff\xff\xfb\0\xff\xff\xfe\x98\xff\xff\xfd\x82\0\0\0\x8a\xff\xff\xfb\0\xff\xff\xfe\x98\xff\xff\xfd\x82\0\0\0\x8a\0\0\0\x1\0\0\0\0\n\0\xff\xff\xfb\0\xff\xff\xfe\x98\xff\xff\xfd\x82\0\0\0\x8a) + [SettingsWindow] -geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x3\0\0\0\0\0\0\0\0\x4\x38\0\0\x3\xb8\0\0\bK\0\0\0\0\0\0\x4\x38\0\0\x3\xb8\0\0\bK\0\0\0\0\0\0\0\0\a\x80\0\0\0\0\0\0\x4\x38\0\0\x3\xb8\0\0\bK) +geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x3\0\0\xff\xff\xfc@\0\0\0\0\0\0\x1\xd5\0\0\x6\x30\xff\xff\xfc@\0\0\0\0\0\0\x1\xd5\0\0\x6\x30\0\0\0\0\0\0\0\0\v@\xff\xff\xfc@\0\0\0\0\0\0\x1\xd5\0\0\x6\x30) [Troubleshooting] force_raster_widgets=1 diff --git a/.config/rio/config.toml b/.config/rio/config.toml new file mode 100644 index 0000000..acda1a8 --- /dev/null +++ b/.config/rio/config.toml @@ -0,0 +1,22 @@ +theme = "Everforest Dark Soft" +confirm-before-quit = false + +[window] +decorations = "Disabled" +opacity = 0.9 +opacity-cells = false +blur = true +# colorspace = "display-p3" + +[fonts] +size=18 +family="Hurmit Nerd Font" + +[editor] +program = "nvim" + +[effects] +trail-cursor = true +trail-cursor-decay = [50,200] +trail-cursor-opacity = 0.3 +trail-cursor-start-threshold = 3 diff --git a/.config/rio/themes/Everforest Dark Hard.toml b/.config/rio/themes/Everforest Dark Hard.toml new file mode 100644 index 0000000..bb4eb7e --- /dev/null +++ b/.config/rio/themes/Everforest Dark Hard.toml @@ -0,0 +1,22 @@ +[colors] +background = '#1e2326' +foreground = '#d3c6aa' +selection-background = '#4c3743' +selection-foreground = '#d3c6aa' +cursor = '#e69875' +black = '#7a8478' +red = '#e67e80' +green = '#a7c080' +yellow = '#dbbc7f' +blue = '#7fbbb3' +magenta = '#d699b6' +cyan = '#83c092' +white = '#f2efdf' +light_black = '#a6b0a0' +light_red = '#f85552' +light_green = '#8da101' +light_yellow = '#dfa000' +light_blue = '#3a94c5' +light_magenta = '#df69ba' +light_cyan = '#35a77c' +light_white = '#fffbef' diff --git a/.config/rio/themes/Everforest Dark Med.toml b/.config/rio/themes/Everforest Dark Med.toml new file mode 100644 index 0000000..16cd406 --- /dev/null +++ b/.config/rio/themes/Everforest Dark Med.toml @@ -0,0 +1,22 @@ +[colors] +background = '#232a2e' +foreground = '#d3c6aa' +selection-background = '#543a48' +selection-foreground = '#d3c6aa' +cursor = '#e69875' +black = '#7a8478' +red = '#e67e80' +green = '#a7c080' +yellow = '#dbbc7f' +blue = '#7fbbb3' +magenta = '#d699b6' +cyan = '#83c092' +white = '#f2efdf' +light_black = '#a6b0a0' +light_red = '#f85552' +light_green = '#8da101' +light_yellow = '#dfa000' +light_blue = '#3a94c5' +light_magenta = '#df69ba' +light_cyan = '#35a77c' +light_white = '#fffbef' diff --git a/.config/rio/themes/Everforest Dark Soft.toml b/.config/rio/themes/Everforest Dark Soft.toml new file mode 100644 index 0000000..74630bd --- /dev/null +++ b/.config/rio/themes/Everforest Dark Soft.toml @@ -0,0 +1,24 @@ +[colors] +background = '#293136' +foreground = '#d3c6aa' +selection-background = '#5c3f4f' +selection-foreground = '#d3c6aa' +cursor = '#d3c6aa' + # cursor = '#e69875' +# cursor = '#069875' + +black = '#7a8478' +red = '#e67e80' +green = '#a7c080' +yellow = '#dbbc7f' +blue = '#7fbbb3' +magenta = '#d699b6' +cyan = '#83c092' +white = '#f2efdf' +light_black = '#a6b0a0' +light_red = '#f85552' +light_green = '#8da101' +light_yellow = '#dfa000' +light_blue = '#3a94c5' +light_magenta = '#df69ba' +light_cyan = '#35a77c' diff --git a/.config/starship.toml b/.config/starship.toml index 506b701..52baa9a 100644 --- a/.config/starship.toml +++ b/.config/starship.toml @@ -21,6 +21,8 @@ $username\ $hostname\ $directory\ $git_branch\ +$git_metrics\ +$git_state\ $git_status\ $package\ $cmd_time\ diff --git a/.config/swayidle.conf b/.config/swayidle.conf index fb509c0..de1f545 100644 --- a/.config/swayidle.conf +++ b/.config/swayidle.conf @@ -1,6 +1,6 @@ -timeout 300 'swaylock --grace 10 --ignore-empty-password --indicator --clock --timestr %H:%M --datestr "" --screenshot --effect-blur 5x3 --font hurmit-nf --inside-color 00000000 --line-color 00000000 --ring-color 00ff99 --key-hl-color 066dff' -timeout 600 'niri msg action power-off-monitors' +timeout 600 'swaylock --grace 10 --ignore-empty-password --indicator --clock --timestr %H:%M --datestr "" --screenshot --effect-blur 5x3 --font hurmit-nf --inside-color 00000000 --line-color 00000000 --ring-color 00ff99 --key-hl-color 066dff' +timeout 1800 'niri msg action power-off-monitors' after-resume 'niri msg action power-on-monitors' -before-sleep 'swaylock --grace 10 --ignore-empty-password --indicator --clock --timestr %H:%M --datestr "" --screenshot --effect-blur 5x3 --font hurmit-nf --inside-color 00000000 --line-color 00000000 --ring-color 00ff99 --key-hl-color 066dff' +before-sleep 'swaylock --ignore-empty-password --indicator --clock --timestr %H:%M --datestr "" --screenshot --effect-blur 5x3 --font hurmit-nf --inside-color 00000000 --line-color 00000000 --ring-color 00ff99 --key-hl-color 066dff' diff --git a/.config/systemd/user/swaybg.service b/.config/systemd/user/swaybg.service new file mode 100644 index 0000000..3fb7aa7 --- /dev/null +++ b/.config/systemd/user/swaybg.service @@ -0,0 +1,9 @@ +[Unit] +PartOf=graphical-session.target +After=graphical-session.target +Requisite=graphical-session.target + +[Service] +ExecStart=/usr/bin/swaybg -m fit -i "%h/Pictures/backgrounds/NASA/earth-1.jpg" +#ExecStart=/usr/bin/swaybg -m fill -i "%h/Pictures/backgrounds/NASA/moon_and_earth.webp" +Restart=on-failure diff --git a/.config/systemd/user/swayidle.service b/.config/systemd/user/swayidle.service new file mode 100644 index 0000000..9def110 --- /dev/null +++ b/.config/systemd/user/swayidle.service @@ -0,0 +1,13 @@ +[Unit] +Description=SwayIdle Service +#PartOf=graphical-session.target +After=graphical-session.target +Requisite=graphical-session.target +StartLimitIntervalSec=30 +StartLimitBurst=3 + +[Service] +ExecStart=/usr/bin/swayidle -w -C "%h/.config/swayidle.conf" +Restart=on-failure +TimeoutSec=30 + diff --git a/.config/tofi/brightness_config b/.config/tofi/brightness_config index e741b7e..955a237 100644 --- a/.config/tofi/brightness_config +++ b/.config/tofi/brightness_config @@ -2,12 +2,6 @@ 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 @@ -22,52 +16,23 @@ font-size = 17 # ### 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 = 5 - - # 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 diff --git a/.config/vivaldi/customCSS/center_address_bar.css.bak b/.config/vivaldi/customCSS/center_address_bar.css.bak deleted file mode 100644 index 21be0b9..0000000 --- a/.config/vivaldi/customCSS/center_address_bar.css.bak +++ /dev/null @@ -1,11 +0,0 @@ -/* Url text on center */ -.UrlField {justify-content: center;} -input#urlFieldInput {text-align:center;} -.UrlBar-UrlObfuscationWarning {-webkit-app-region: no-drag !important;} - -#browser:has(.switcher):not(.toolbar-edit-mode) .toolbar-mainbar .toolbar-spacer:has(+.button-toolbar button[name="Back"]) { - max-width: 0; -} -#browser.win:not(:has(.switcher)):not(.toolbar-edit-mode) .toolbar-mainbar .toolbar-spacer:has(+.button-toolbar button[name="Back"]) { - min-width: calc(var(--leftbarwidth) - 34px - 34px - 34px - var(--browserborder)) -} diff --git a/.config/vivaldi/customCSS/frame.css.bak b/.config/vivaldi/customCSS/frame.css.bak deleted file mode 100644 index 06a31b5..0000000 --- a/.config/vivaldi/customCSS/frame.css.bak +++ /dev/null @@ -1,85 +0,0 @@ -/** -* Edge like border radius -* Forum link: https://forum.vivaldi.net/topic/83618/edge-like-curved-frame-around-website -*/ - -#browser { - --edge-like-border-radius: var(--radius); /* 0.5rem */ -} - -#webpage-stack { - box-shadow: 0 0 0 var(--edge-like-border-radius) var(--colorAccentBg); - - margin-bottom: calc(var(--edge-like-border-radius) / 2); - margin-right: calc(var(--edge-like-border-radius) / 2); -} - -#browser.fullscreen #webpage-stack { - margin-left: calc(var(--edge-like-border-radius) / 2); -} - -#webpage-stack::before { - content: ''; - position: absolute; - width: 100%; - height: 100%; - border-radius: var(--edge-like-border-radius); - /* border-top-left-radius: var(--edge-like-border-radius); - border-bottom-left-radius: var(--edge-like-border-radius); - border-top-right-radius: var(--edge-like-border-radius); - border-bottom-right-radius: var(--edge-like-border-radius); */ - outline: var(--edge-like-border-radius) solid var(--colorAccentBg); - z-index: 1; - pointer-events: none; -} - -#browser:not(.fullscreen) #panels-container:not(.icons):not(.overlay) { - margin-right: calc(var(--edge-like-border-radius) / 4); - padding-right: calc(var(--edge-like-border-radius) / 4); -} - -#panels-container:not(.icons):not(.overlay) .panel-group { - border-top-right-radius: var(--edge-like-border-radius); - border-bottom-right-radius: var(--edge-like-border-radius); - border-right: none; -} - -#panels-container > button.SlideBar { - background: var(--colorAccentBg); -} - -.panel-group { - transition: border-right 2s ease, width var(--duration) ease-out !important; -} - -.panel-group::before { - content: ''; - position: fixed; - width: 100%; - height: 100%; - border-top-left-radius: var(--edge-like-border-radius); - border-bottom-left-radius: var(--edge-like-border-radius); - outline: var(--edge-like-border-radius) solid var(--colorAccentBg); - z-index: 1; - pointer-events: none; -} - -#panels-container:not(.icons):not(.overlay) .panel-group::before { - content: ''; - position: absolute; - width: 100%; - height: 100%; - border-radius: var(--edge-like-border-radius); - outline: var(--edge-like-border-radius) solid var(--colorAccentBg); - z-index: 1; - pointer-events: none; -} - -.StatusInfo { - margin-bottom: calc(var(--edge-like-border-radius) / 2); - margin-left: calc(var(--edge-like-border-radius) / 2); -} - -.panel-group { - margin-bottom: calc(var(--edge-like-border-radius) / 2); -} diff --git a/.config/waybar/config b/.config/waybar/config index 3d2a329..91ebefb 100644 --- a/.config/waybar/config +++ b/.config/waybar/config @@ -1,5 +1,6 @@ { "layer": "bottom", // Waybar at top layer + // "position": "left", // needs css // "position": "bottom", // Waybar position (top|bottom|left|right) //"height": 30, // Waybar height (to be removed for auto height) "height": 25, @@ -8,9 +9,9 @@ // "width": 1280, // Waybar width "spacing": 0, // Gaps between modules (4px) // Choose the order of the modules - "modules-left": ["hyprland/workspaces", "niri/workspaces", "niri/window"], + "modules-left": ["niri/workspaces", "niri/window"], "modules-center": ["clock"], - "modules-right": ["custom/media", "pulseaudio", "backlight", "temperature", "cpu", "memory", "battery", "hyprland/language", "idle_inhibitor", "tray"], + "modules-right": ["custom/media", "pulseaudio", "backlight", "temperature", "cpu", "memory", "battery", "idle_inhibitor", "tray"], "hyprland/workspaces": { "disable-scroll": false, "all-outputs": false, @@ -24,13 +25,15 @@ "niri/workspaces": { "disable-scroll": false, "warp-on-scroll": true, - "format": "{name}", + // "format": "{name}", "persistent-workspaces": { - "*": 3, + "all-outputs": false, + "hide-empty": true, + //"*": 3, }, }, "niri/window": { - "format": "{title}" + "format": "{app_id}: {title}" }, "hyprland/window": { "format": "{title}" @@ -45,10 +48,12 @@ "keyboard-state": { // "numlock": true, "capslock": true, - "format": "{name} {icon}", + "format": "{icon}", "format-icons": { "locked": "", "unlocked": "" + // "locked": "CAPS", + // "unlocked": "" } }, "wlr/taskbar": { @@ -134,15 +139,15 @@ "pulseaudio": { "scroll-step": 0.25, // %, can be a float "format": "{volume}% {icon} {format_source}", - "format-bluetooth": "{volume}% {icon} {format_source}", - "format-bluetooth-muted": "{icon} {format_source}", + "format-bluetooth": "{volume}% {icon}  {format_source}", + "format-bluetooth-muted": "{icon}  {format_source}", "format-muted": "{format_source}", "format-source": "{volume}% ", "format-source-muted": "", "format-icons": { "headphone": "", - "hands-free": "", - "headset": "", + // "hands-free": "", + // "headset": "", "phone": "", "portable": "", "car": "", @@ -150,7 +155,7 @@ }, "on-click": "pavucontrol-qt -t 3", "on-click-middle": "amixer set Master Playback Switch toggle --quiet", - "on-click-right": "~/Code/scripts/pipewire-switch-outputs-templar", + "on-click-right": "~/.local/share/scripts/pipewire-switch-outputs-templar.sh", }, "idle_inhibitor": { "format": "{icon}", diff --git a/.config/wezterm/colors/Everforest Dark Hard.toml b/.config/wezterm/colors/Everforest Dark Hard.toml new file mode 100644 index 0000000..1fff80f --- /dev/null +++ b/.config/wezterm/colors/Everforest Dark Hard.toml @@ -0,0 +1,12 @@ +# Everforest Dark Hard +[colors] +foreground = "#d3c6aa" +background = "#2d353b" +cursor_bg = "#e69875" +cursor_border = "#e69875" +cursor_fg = "#4c3743" +selection_bg = "#4c3743" +selection_fg = "#d3c6aa" + +ansi = ["#7a8478","#e67e80","#a7c080","#dbbc7f","#7fbbb3","#d699b6","#83c092","#f2efdf"] +brights = ["#a6b0a0","#f85552","#8da101","#dfa000","#3a94c5","#df69ba","#35a77c","#fffbef"] diff --git a/.config/wezterm/wezterm.lua b/.config/wezterm/wezterm.lua new file mode 100644 index 0000000..3d7c489 --- /dev/null +++ b/.config/wezterm/wezterm.lua @@ -0,0 +1,22 @@ +local wezterm = require("wezterm") + +local config = wezterm.config_builder() + +config.color_scheme_dirs = { "colors" } +config.color_scheme = "Everforest Dark Hard" + +config.font_size = 13 +config.font = wezterm.font("Hurmit Nerd Font", { weight = "Book" }) + +config.enable_tab_bar = true +config.hide_tab_bar_if_only_one_tab = true + +config.window_decorations = "NONE" +config.window_padding = { + left = 0, + right = 0, + top = 0, + bottom = 0, +} + +return config diff --git a/.config/yazi/plugins/confirm-quit.yazi/main.lua b/.config/yazi/plugins/confirm-quit.yazi/main.lua index 09788ee..e2914d3 100644 --- a/.config/yazi/plugins/confirm-quit.yazi/main.lua +++ b/.config/yazi/plugins/confirm-quit.yazi/main.lua @@ -4,16 +4,16 @@ end) local function entry() if count() < 2 then - return ya.mgr_emit("quit", {}) + return ya.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), + body = ui.Text("Multiple tabs are open. Are you sure you want to quit?"):wrap(ui.Wrap.YES), }) if yes then - ya.mgr_emit("quit", {}) + ya.emit("quit", {}) end end diff --git a/.config/yazi/yazi.toml b/.config/yazi/yazi.toml index a00f6be..588f024 100644 --- a/.config/yazi/yazi.toml +++ b/.config/yazi/yazi.toml @@ -10,8 +10,6 @@ image_delay = 100 image_filter = "triangle" [confirm.quit] -enabled = false -origin = "center" [confirm.trash] diff --git a/.config/zellij/config.kdl b/.config/zellij/config.kdl new file mode 100644 index 0000000..d77de56 --- /dev/null +++ b/.config/zellij/config.kdl @@ -0,0 +1,550 @@ +// If you'd like to override the default keybindings completely, be sure to change "keybinds" to "keybinds clear-defaults=true" +keybinds { + normal { + // uncomment this and adjust key if using copy_on_select=false + // bind "Alt c" { Copy; } + } + locked { + bind "Ctrl g" { SwitchToMode "Normal"; } + } + resize { + bind "Ctrl n" { SwitchToMode "Normal"; } + bind "h" "Left" { Resize "Increase Left"; } + bind "j" "Down" { Resize "Increase Down"; } + bind "k" "Up" { Resize "Increase Up"; } + bind "l" "Right" { Resize "Increase Right"; } + bind "H" { Resize "Decrease Left"; } + bind "J" { Resize "Decrease Down"; } + bind "K" { Resize "Decrease Up"; } + bind "L" { Resize "Decrease Right"; } + bind "=" "+" { Resize "Increase"; } + bind "-" { Resize "Decrease"; } + } + pane { + bind "Ctrl p" { SwitchToMode "Normal"; } + bind "h" "Left" { MoveFocus "Left"; } + bind "l" "Right" { MoveFocus "Right"; } + bind "j" "Down" { MoveFocus "Down"; } + bind "k" "Up" { MoveFocus "Up"; } + bind "p" { SwitchFocus; } + bind "n" { NewPane; SwitchToMode "Normal"; } + bind "d" { NewPane "Down"; SwitchToMode "Normal"; } + bind "r" { NewPane "Right"; SwitchToMode "Normal"; } + bind "s" { NewPane "stacked"; SwitchToMode "Normal"; } + bind "x" { CloseFocus; SwitchToMode "Normal"; } + bind "f" { ToggleFocusFullscreen; SwitchToMode "Normal"; } + bind "z" { TogglePaneFrames; SwitchToMode "Normal"; } + bind "w" { ToggleFloatingPanes; SwitchToMode "Normal"; } + bind "e" { TogglePaneEmbedOrFloating; SwitchToMode "Normal"; } + bind "c" { SwitchToMode "RenamePane"; PaneNameInput 0;} + bind "i" { TogglePanePinned; SwitchToMode "Normal"; } + } + move { + bind "Ctrl h" { SwitchToMode "Normal"; } + bind "n" "Tab" { MovePane; } + bind "p" { MovePaneBackwards; } + bind "h" "Left" { MovePane "Left"; } + bind "j" "Down" { MovePane "Down"; } + bind "k" "Up" { MovePane "Up"; } + bind "l" "Right" { MovePane "Right"; } + } + tab { + bind "Ctrl t" { SwitchToMode "Normal"; } + bind "r" { SwitchToMode "RenameTab"; TabNameInput 0; } + bind "h" "Left" "Up" "k" { GoToPreviousTab; } + bind "p" { GoToPreviousTab; SwitchToMode "Normal"; } + bind "l" "Right" "Down" "j" { GoToNextTab; } + bind "n" { GoToNextTab; SwitchToMode "Normal"; } + bind "a" { NewTab; SwitchToMode "Normal"; } + bind "x" { CloseTab; SwitchToMode "Normal"; } + bind "s" { ToggleActiveSyncTab; SwitchToMode "Normal"; } + bind "b" { BreakPane; SwitchToMode "Normal"; } + bind "]" { BreakPaneRight; SwitchToMode "Normal"; } + bind "[" { BreakPaneLeft; SwitchToMode "Normal"; } + bind "1" { GoToTab 1; SwitchToMode "Normal"; } + bind "2" { GoToTab 2; SwitchToMode "Normal"; } + bind "3" { GoToTab 3; SwitchToMode "Normal"; } + bind "4" { GoToTab 4; SwitchToMode "Normal"; } + bind "5" { GoToTab 5; SwitchToMode "Normal"; } + bind "6" { GoToTab 6; SwitchToMode "Normal"; } + bind "7" { GoToTab 7; SwitchToMode "Normal"; } + bind "8" { GoToTab 8; SwitchToMode "Normal"; } + bind "9" { GoToTab 9; SwitchToMode "Normal"; } + bind "Tab" { ToggleTab; } + } + scroll { + bind "Ctrl s" { SwitchToMode "Normal"; } + bind "e" { EditScrollback; SwitchToMode "Normal"; } + bind "s" { SwitchToMode "EnterSearch"; SearchInput 0; } + bind "Ctrl c" { ScrollToBottom; SwitchToMode "Normal"; } + bind "j" "Down" { ScrollDown; } + bind "k" "Up" { ScrollUp; } + bind "Ctrl f" "PageDown" "Right" "l" { PageScrollDown; } + bind "Ctrl b" "PageUp" "Left" "h" { PageScrollUp; } + bind "d" { HalfPageScrollDown; } + bind "u" { HalfPageScrollUp; } + // uncomment this and adjust key if using copy_on_select=false + // bind "Alt c" { Copy; } + } + search { + bind "Ctrl s" { SwitchToMode "Normal"; } + bind "Ctrl c" { ScrollToBottom; SwitchToMode "Normal"; } + bind "j" "Down" { ScrollDown; } + bind "k" "Up" { ScrollUp; } + bind "Ctrl f" "PageDown" "Right" "l" { PageScrollDown; } + bind "Ctrl b" "PageUp" "Left" "h" { PageScrollUp; } + bind "d" { HalfPageScrollDown; } + bind "u" { HalfPageScrollUp; } + bind "n" { Search "down"; } + bind "p" { Search "up"; } + bind "c" { SearchToggleOption "CaseSensitivity"; } + bind "w" { SearchToggleOption "Wrap"; } + bind "o" { SearchToggleOption "WholeWord"; } + } + entersearch { + bind "Ctrl c" "Esc" { SwitchToMode "Scroll"; } + bind "Enter" { SwitchToMode "Search"; } + } + renametab { + bind "Ctrl c" { SwitchToMode "Normal"; } + bind "Esc" { UndoRenameTab; SwitchToMode "Tab"; } + } + renamepane { + bind "Ctrl c" { SwitchToMode "Normal"; } + bind "Esc" { UndoRenamePane; SwitchToMode "Pane"; } + } + session { + bind "Ctrl o" { SwitchToMode "Normal"; } + bind "Ctrl s" { SwitchToMode "Scroll"; } + bind "d" { Detach; } + bind "w" { + LaunchOrFocusPlugin "session-manager" { + floating true + move_to_focused_tab true + }; + SwitchToMode "Normal" + } + bind "c" { + LaunchOrFocusPlugin "configuration" { + floating true + move_to_focused_tab true + }; + SwitchToMode "Normal" + } + bind "p" { + LaunchOrFocusPlugin "plugin-manager" { + floating true + move_to_focused_tab true + }; + SwitchToMode "Normal" + } + bind "a" { + LaunchOrFocusPlugin "zellij:about" { + floating true + move_to_focused_tab true + }; + SwitchToMode "Normal" + } + bind "s" { + LaunchOrFocusPlugin "zellij:share" { + floating true + move_to_focused_tab true + }; + SwitchToMode "Normal" + } + bind "l" { + LaunchOrFocusPlugin "zellij:layout-manager" { + floating true + move_to_focused_tab true + }; + SwitchToMode "Normal" + } + } + tmux { + bind "[" { SwitchToMode "Scroll"; } + bind "Ctrl b" { Write 2; SwitchToMode "Normal"; } + bind "\"" { NewPane "Down"; SwitchToMode "Normal"; } + bind "%" { NewPane "Right"; SwitchToMode "Normal"; } + bind "z" { ToggleFocusFullscreen; SwitchToMode "Normal"; } + bind "c" { NewTab; SwitchToMode "Normal"; } + bind "," { SwitchToMode "RenameTab"; } + bind "p" { GoToPreviousTab; SwitchToMode "Normal"; } + bind "n" { GoToNextTab; SwitchToMode "Normal"; } + bind "Left" { MoveFocus "Left"; SwitchToMode "Normal"; } + bind "Right" { MoveFocus "Right"; SwitchToMode "Normal"; } + bind "Down" { MoveFocus "Down"; SwitchToMode "Normal"; } + bind "Up" { MoveFocus "Up"; SwitchToMode "Normal"; } + bind "h" { MoveFocus "Left"; SwitchToMode "Normal"; } + bind "l" { MoveFocus "Right"; SwitchToMode "Normal"; } + bind "j" { MoveFocus "Down"; SwitchToMode "Normal"; } + bind "k" { MoveFocus "Up"; SwitchToMode "Normal"; } + bind "o" { FocusNextPane; } + bind "d" { Detach; } + bind "Space" { NextSwapLayout; } + bind "x" { CloseFocus; SwitchToMode "Normal"; } + } + shared_except "locked" { + bind "Ctrl g" "Esc" { SwitchToMode "Locked"; } + bind "Ctrl q" { Quit; } + bind "Alt f" { ToggleFloatingPanes; } + bind "Alt n" { NewPane; } + bind "Alt i" { MoveTab "Left"; } + bind "Alt o" { MoveTab "Right"; } + bind "Alt h" "Alt Left" { MoveFocusOrTab "Left"; } + bind "Alt l" "Alt Right" { MoveFocusOrTab "Right"; } + bind "Alt j" "Alt Down" { MoveFocus "Down"; } + bind "Alt k" "Alt Up" { MoveFocus "Up"; } + bind "Alt =" "Alt +" { Resize "Increase"; } + bind "Alt -" { Resize "Decrease"; } + bind "Alt [" { PreviousSwapLayout; } + bind "Alt ]" { NextSwapLayout; } + bind "Alt p" { TogglePaneInGroup; } + bind "Alt Shift p" { ToggleGroupMarking; } + } + shared_except "normal" "locked" { + bind "Enter" "Esc" { SwitchToMode "Normal"; } + } + shared_except "pane" "locked" { + // unbind "Ctrl p" + // bind "Ctrl Shift p" { SwitchToMode "Pane"; } + bind "Ctrl Shift p" { SwitchToMode "Pane"; } + } + shared_except "resize" "locked" { + bind "Ctrl n" { SwitchToMode "Resize"; } + } + shared_except "scroll" "locked" { + bind "Ctrl s" { SwitchToMode "Scroll"; } + } + shared_except "session" "locked" { + bind "Ctrl o" { SwitchToMode "Session"; } + } + shared_except "tab" "locked" { + bind "Ctrl t" { SwitchToMode "Tab"; } + } + shared_except "move" "locked" { + bind "Ctrl h" { SwitchToMode "Move"; } + } + shared_except "tmux" "locked" { + bind "Ctrl b" { SwitchToMode "Tmux"; } + } +} + +// Plugin aliases - can be used to change the implementation of Zellij +// changing these requires a restart to take effect +plugins { + tab-bar location="zellij:tab-bar" + status-bar location="zellij:status-bar" + strider location="zellij:strider" + compact-bar location="zellij:compact-bar" + session-manager location="zellij:session-manager" + welcome-screen location="zellij:session-manager" { + welcome_screen true + } + filepicker location="zellij:strider" { + cwd "/" + } + configuration location="zellij:configuration" + plugin-manager location="zellij:plugin-manager" + about location="zellij:about" +} + +// Plugins to load in the background when a new session starts +load_plugins { + "zellij:link" + // "file:/path/to/my-plugin.wasm" + // "https://example.com/my-plugin.wasm" +} + +// Choose what to do when zellij receives SIGTERM, SIGINT, SIGQUIT or SIGHUP +// eg. when terminal window with an active zellij session is closed +// (Requires restart) +// Options: +// - detach (Default) +// - quit +// +// on_force_close "quit" + +// Send a request for a simplified ui (without arrow fonts) to plugins +// Options: +// - true +// - false (Default) +// +// simplified_ui true + +// Choose the path to the default shell that zellij will use for opening new panes +// Default: $SHELL +// +// default_shell "fish" + +// Choose the path to override cwd that zellij will use for opening new panes +// +// default_cwd "" + +// Toggle between having pane frames around the panes +// Options: +// - true (default) +// - false +// +pane_frames false + +// Toggle between having Zellij lay out panes according to a predefined set of layouts whenever possible +// Options: +// - true (default) +// - false +// +// auto_layout true + +// Whether sessions should be serialized to the cache folder (including their tabs/panes, cwds and running commands) so that they can later be resurrected +// (Requires restart) +// Options: +// - true (default) +// - false +// +// session_serialization false + +// Whether pane viewports are serialized along with the session, default is false +// (Requires restart) +// Options: +// - true +// - false (default) +// +// serialize_pane_viewport true + +// Scrollback lines to serialize along with the pane viewport when serializing sessions, 0 +// defaults to the scrollback size. If this number is higher than the scrollback size, it will +// also default to the scrollback size. This does nothing if `serialize_pane_viewport` is not true. +// (Requires restart) +// +// scrollback_lines_to_serialize 10000 + +// Define color themes for Zellij +// For more examples, see: https://github.com/zellij-org/zellij/tree/main/example/themes +// Once these themes are defined, one of them should to be selected in the "theme" section of this file +// +// themes { +// dracula { +// fg 248 248 242 +// bg 40 42 54 +// red 255 85 85 +// green 80 250 123 +// yellow 241 250 140 +// blue 98 114 164 +// magenta 255 121 198 +// orange 255 184 108 +// cyan 139 233 253 +// black 0 0 0 +// white 255 255 255 +// } +// } + +// Choose the theme that is specified in the themes section. +// Default: default +// +// theme "default" +theme "everforest-dark" + +// The name of the default layout to load on startup +// Default: "default" +// (Requires restart) +// +// default_layout "compact" + +// Choose the mode that zellij uses when starting up. +// Default: normal +// +// default_mode "locked" + +// Toggle enabling the mouse mode. +// On certain configurations, or terminals this could +// potentially interfere with copying text. +// (Requires restart) +// Options: +// - true (default) +// - false +// +// mouse_mode false + +// Configure the scroll back buffer size +// This is the number of lines zellij stores for each pane in the scroll back +// buffer. Excess number of lines are discarded in a FIFO fashion. +// (Requires restart) +// Valid values: positive integers +// Default value: 10000 +// +// scroll_buffer_size 10000 + +// Provide a command to execute when copying text. The text will be piped to +// the stdin of the program to perform the copy. This can be used with +// terminal emulators which do not support the OSC 52 ANSI control sequence +// that will be used by default if this option is not set. +// Examples: +// +// copy_command "xclip -selection clipboard" // x11 +copy_command "wl-copy" // wayland +// copy_command "pbcopy" // osx + +// Choose the destination for copied text +// Allows using the primary selection buffer (on x11/wayland) instead of the system clipboard. +// Does not apply when using copy_command. +// Options: +// - system (default) +// - primary +// +copy_clipboard "system" + +// Enable or disable automatic copy (and clear) of selection when releasing mouse +// Default: true +// +copy_on_select true + +// Path to the default editor to use to edit pane scrollbuffer +// Default: $EDITOR or $VISUAL +// +// scrollback_editor "/usr/bin/vim" + +// When attaching to an existing session with other users, +// should the session be mirrored (true) +// or should each user have their own cursor (false) +// (Requires restart) +// Default: false +// +// mirror_session true + +// The folder in which Zellij will look for layouts +// (Requires restart) +// +// layout_dir "/path/to/my/layout_dir" + +// The folder in which Zellij will look for themes +// (Requires restart) +// +// theme_dir "/path/to/my/theme_dir" + +// Enable or disable the rendering of styled and colored underlines (undercurl). +// May need to be disabled for certain unsupported terminals +// (Requires restart) +// Default: true +// +// styled_underlines false + +// Enable or disable writing of session metadata to disk (if disabled, other sessions might not know +// metadata info on this session) +// (Requires restart) +// Default: false +// +// disable_session_metadata true + +// Enable or disable support for the enhanced Kitty Keyboard Protocol (the host terminal must also support it) +// (Requires restart) +// Default: true (if the host terminal supports it) +// +// support_kitty_keyboard_protocol false + +// Whether to make sure a local web server is running when a new Zellij session starts. +// This web server will allow creating new sessions and attaching to existing ones that have +// opted in to being shared in the browser. +// When enabled, navigate to http://127.0.0.1:8082 +// (Requires restart) +// +// Note: a local web server can still be manually started from within a Zellij session or from the CLI. +// If this is not desired, one can use a version of Zellij compiled without +// `web_server_capability` +// +// Possible values: +// - true +// - false +// Default: false +// +// web_server true + +// Whether to allow sessions started in the terminal to be shared through a local web server, assuming one is +// running (see the `web_server` option for more details). +// (Requires restart) +// +// Note: This is an administrative separation and not intended as a security measure. +// +// Possible values: +// - "on" (allow web sharing through the local web server if it +// is online) +// - "off" (do not allow web sharing unless sessions explicitly opt-in to it) +// - "disabled" (do not allow web sharing and do not permit sessions started in the terminal to opt-in to it) +// Default: "off" +// +// web_sharing "on" + +// The ip address the web server should listen on when it starts +// Default: "127.0.0.1" +// (Requires restart) +// +// web_server_ip "127.0.0.1" + + +// A path to a certificate file to be used when setting up the web client to serve the +// connection over HTTPs +// +// web_server_cert "/path/to/my/cert.pem" + +// A path to a key file to be used when setting up the web client to serve the +// connection over HTTPs +// +// web_server_key "/path/to/my/key.pem" + +// Whether to enforce https connections to the web server when it is bound to localhost +// (127.0.0.0/8) +// +// Note: https is ALWAYS enforced when bound to non-local interfaces +// +// Default: false +// +// enforce_https_for_localhost true + +// The port the web server should listen on when it starts +// Default: 8082 +// (Requires restart) +// +// web_server_port 8082 + +// Whether to stack panes when resizing beyond a certain size +// Default: true +// +// stacked_resize false + +// Whether to show release notes on first version run +// Default: true +// +// show_release_notes false + +// Whether to enable mouse hover effects and pane grouping functionality +// Default: true +// +// advanced_mouse_actions false + +// Whether to enable mouse hover visual effects (frame highlight and help text) +// Default: true +// +// mouse_hover_effects false + +// Whether to output OSC8 hyperlink sequences +// Default: true +// +// osc8_hyperlinks false + +// A command to run (will be wrapped with sh -c and provided the RESURRECT_COMMAND env variable) +// after Zellij attempts to discover a command inside a pane when resurrecting sessions, the STDOUT +// of this command will be used instead of the discovered RESURRECT_COMMAND +// can be useful for removing wrappers around commands +// Note: be sure to escape backslashes and similar characters properly +// +// post_command_discovery_hook "echo $RESURRECT_COMMAND | sed " + +// Number of async worker tasks to spawn per active client. +// +// Allocating few tasks may result in resource contention and lags. Small values (around 4) should +// typically work best. Set to 0 to use the number of (physical) CPU cores. +// NOTE: This only applies to web clients at the moment."#; +// client_async_worker_tasks 4 + + +web_client { + font "monospace" +} diff --git a/.config/zellij/layouts/new_try_from_default.kdl b/.config/zellij/layouts/new_try_from_default.kdl new file mode 100644 index 0000000..c7b75c0 --- /dev/null +++ b/.config/zellij/layouts/new_try_from_default.kdl @@ -0,0 +1,337 @@ +layout { + cwd "/home/felix" + tab name="Tab #1" focus=true { + pane size=1 borderless=true { + plugin location="zellij:tab-bar" + } + pane split_direction="vertical" { + pane command="nvim" cwd="Code/CODE/2026_final_stretch_SS+SS/oeffimaster" size="59%" { + start_suspended true + } + pane size="40%" stacked=true { + pane command="/opt/flutter/bin/cache/dart-sdk/bin/dartvm" cwd="Code/CODE/2026_final_stretch_SS+SS/oeffimaster" { + args "--resolved_executable_name=/opt/flutter/bin/cache/dart-sdk/bin/dart" "--executable_name=/opt/flutter/bin/cache/dart-sdk/bin/dart" "--packages=/opt/flutter/packages/flutter_tools/.dart_tool/package_config.json" "/opt/flutter/bin/cache/flutter_tools.snapshot" "run" + start_suspended true + } + pane command="sqlite3" cwd="Code/CODE/2026_final_stretch_SS+SS/oeffimaster" expanded=true { + args ".dart_tool/sqflite_common_ffi/databasesoeffimasterTransportDb" + start_suspended true + } + pane command="git" cwd="Code/CODE/2026_final_stretch_SS+SS/oeffimaster" { + args "lgb" + start_suspended true + } + } + } + pane size=1 borderless=true { + plugin location="zellij:status-bar" + } + } + tab name="Tab #2" hide_floating_panes=true { + pane size=1 borderless=true { + plugin location="zellij:tab-bar" + } + pane command="nvim" { + start_suspended true + } + pane size=1 borderless=true { + plugin location="zellij:status-bar" + } + } + tab name="Tab #3" hide_floating_panes=true { + pane size=1 borderless=true { + plugin location="zellij:tab-bar" + } + pane edit="Code/CODE/RlwyNetSim/src/main.rs" cwd="Code/CODE/RlwyNetSim" + pane size=1 borderless=true { + plugin location="zellij:status-bar" + } + } + new_tab_template { + pane size=1 borderless=true { + plugin location="zellij:tab-bar" + } + pane cwd="/home/felix/Code/CODE/2026_final_stretch_SS+SS/oeffimaster" + pane size=1 borderless=true { + plugin location="zellij:status-bar" + } + } + swap_tiled_layout name="vertical" { + tab max_panes=5 { + pane size=1 borderless=true { + plugin location="zellij:tab-bar" + } + pane { + pane split_direction="vertical" { + pane + pane { + children + } + } + } + pane size=1 borderless=true { + plugin location="zellij:status-bar" + } + } + tab max_panes=8 { + pane size=1 borderless=true { + plugin location="zellij:tab-bar" + } + pane { + pane split_direction="vertical" { + pane { + children + } + pane { + pane + pane + pane + pane + } + } + } + pane size=1 borderless=true { + plugin location="zellij:status-bar" + } + } + tab max_panes=12 { + pane size=1 borderless=true { + plugin location="zellij:tab-bar" + } + pane { + pane split_direction="vertical" { + pane { + children + } + pane { + pane + pane + pane + pane + } + pane { + pane + pane + pane + pane + } + } + } + pane size=1 borderless=true { + plugin location="zellij:status-bar" + } + } + } + swap_tiled_layout name="horizontal" { + tab max_panes=4 { + pane size=1 borderless=true { + plugin location="zellij:tab-bar" + } + pane { + pane + pane + } + pane size=1 borderless=true { + plugin location="zellij:status-bar" + } + } + tab max_panes=8 { + pane size=1 borderless=true { + plugin location="zellij:tab-bar" + } + pane { + pane { + pane split_direction="vertical" { + children + } + pane split_direction="vertical" { + pane + pane + pane + pane + } + } + } + pane size=1 borderless=true { + plugin location="zellij:status-bar" + } + } + tab max_panes=12 { + pane size=1 borderless=true { + plugin location="zellij:tab-bar" + } + pane { + pane { + pane split_direction="vertical" { + children + } + pane split_direction="vertical" { + pane + pane + pane + pane + } + pane split_direction="vertical" { + pane + pane + pane + pane + } + } + } + pane size=1 borderless=true { + plugin location="zellij:status-bar" + } + } + } + swap_tiled_layout name="stacked" { + tab min_panes=5 { + pane size=1 borderless=true { + plugin location="zellij:tab-bar" + } + pane { + pane split_direction="vertical" { + pane + pane stacked=true { + children + } + } + } + pane size=1 borderless=true { + plugin location="zellij:status-bar" + } + } + } + swap_floating_layout name="staggered" { + floating_panes { + + } + } + swap_floating_layout name="enlarged" { + floating_panes max_panes=10 { + pane cwd="/home/felix/Code/CODE/2026_final_stretch_SS+SS/oeffimaster" { + height "90%" + width "90%" + x "5%" + y 1 + } + pane cwd="/home/felix/Code/CODE/2026_final_stretch_SS+SS/oeffimaster" { + height "90%" + width "90%" + x "5%" + y 2 + } + pane cwd="/home/felix/Code/CODE/2026_final_stretch_SS+SS/oeffimaster" { + height "90%" + width "90%" + x "5%" + y 3 + } + pane cwd="/home/felix/Code/CODE/2026_final_stretch_SS+SS/oeffimaster" { + height "90%" + width "90%" + x "5%" + y 4 + } + pane cwd="/home/felix/Code/CODE/2026_final_stretch_SS+SS/oeffimaster" { + height "90%" + width "90%" + x "5%" + y 5 + } + pane cwd="/home/felix/Code/CODE/2026_final_stretch_SS+SS/oeffimaster" { + height "90%" + width "90%" + x "5%" + y 6 + } + pane cwd="/home/felix/Code/CODE/2026_final_stretch_SS+SS/oeffimaster" { + height "90%" + width "90%" + x "5%" + y 7 + } + pane cwd="/home/felix/Code/CODE/2026_final_stretch_SS+SS/oeffimaster" { + height "90%" + width "90%" + x "5%" + y 8 + } + pane cwd="/home/felix/Code/CODE/2026_final_stretch_SS+SS/oeffimaster" { + height "90%" + width "90%" + x "5%" + y 9 + } + pane cwd="/home/felix/Code/CODE/2026_final_stretch_SS+SS/oeffimaster" { + height "90%" + width "90%" + x 10 + y 10 + } + } + } + swap_floating_layout name="spread" { + floating_panes max_panes=1 { + pane cwd="/home/felix/Code/CODE/2026_final_stretch_SS+SS/oeffimaster" { + x "50%" + y "50%" + } + } + floating_panes max_panes=2 { + pane cwd="/home/felix/Code/CODE/2026_final_stretch_SS+SS/oeffimaster" { + width "45%" + x "1%" + y "25%" + } + pane cwd="/home/felix/Code/CODE/2026_final_stretch_SS+SS/oeffimaster" { + width "45%" + x "50%" + y "25%" + } + } + floating_panes max_panes=3 { + pane cwd="/home/felix/Code/CODE/2026_final_stretch_SS+SS/oeffimaster" { + height "45%" + width "45%" + y "55%" + } + pane cwd="/home/felix/Code/CODE/2026_final_stretch_SS+SS/oeffimaster" { + width "45%" + x "1%" + y "1%" + } + pane cwd="/home/felix/Code/CODE/2026_final_stretch_SS+SS/oeffimaster" { + width "45%" + x "50%" + y "1%" + } + } + floating_panes max_panes=4 { + pane cwd="/home/felix/Code/CODE/2026_final_stretch_SS+SS/oeffimaster" { + height "45%" + width "45%" + x "1%" + y "55%" + } + pane cwd="/home/felix/Code/CODE/2026_final_stretch_SS+SS/oeffimaster" { + height "45%" + width "45%" + x "50%" + y "55%" + } + pane cwd="/home/felix/Code/CODE/2026_final_stretch_SS+SS/oeffimaster" { + height "45%" + width "45%" + x "1%" + y "1%" + } + pane cwd="/home/felix/Code/CODE/2026_final_stretch_SS+SS/oeffimaster" { + height "45%" + width "45%" + x "50%" + y "1%" + } + } + } +} diff --git a/.editorconfig b/.editorconfig index 6664713..88c2cf3 100644 --- a/.editorconfig +++ b/.editorconfig @@ -11,6 +11,9 @@ indent_style = tab indent_size = 4 trim_trailing_whitespace = true +[*.{dart}] +insert_final_newline = false + # Matches multiple files with brace expansion notation # Set default charset [*.{js,py}] @@ -24,9 +27,15 @@ indent_size = 4 indent_style = tab indent_size = 2 -[*.md] +[*.{md,txt}] indent_style = tab indent_size = 4 +trim_trailing_whitespace = false + +[*.{typ}] +indent_style = tab +indent_size = 2 +trim_trailing_whitespace = false [*.py] indent_style = space @@ -60,3 +69,7 @@ indent_size = 2 [{package.json,.travis.yml}] indent_style = space indent_size = 2 + +[*.yaml,*.yml] +indent_style = space +indent_size = 2 diff --git a/.instructions/fix-mime b/.instructions/fix-mime new file mode 100644 index 0000000..e3c9f8d --- /dev/null +++ b/.instructions/fix-mime @@ -0,0 +1,13 @@ +// to open files according to .config/mimeapps.list, +// follow instructions on https://github.com/n4zz/Fix-Dolphin-File-Associations + +in short: + sudo pacman -Sy archlinux-xdg-menu + ls /etc/xdg/menus + cd /etc/xdg/menus + sudo mv arch-applications-menu applications.menu + kbuildsyscoca6 --incremental + +to check: + nvim ~/.config/mimeapps.list +all entries should be valid, ending with a .desktop (I think) and a semicolon; at the EOL diff --git a/.local/share/scripts/alsa-fp-switch.sh b/.local/share/scripts/alsa-fp-switch.sh new file mode 100755 index 0000000..b074ef9 --- /dev/null +++ b/.local/share/scripts/alsa-fp-switch.sh @@ -0,0 +1,49 @@ +#!/bin/bash +SCRIPT_VERSION=0.4.64 + +#alsa-fp-switch.sh +#ASUS Xonar DX Front Panel mute and unmute Bash Script +#Build version: 1.1 +#Build date: 2017.12.15. +#Made by Tamas Banki + +################################################################################# +#Copyright (C) 2007 Free Software Foundation. + +#This program is free software; you can redistribute it and/or modify +#it under the terms of the GNU General Public License as published by +#the Free Software Foundation; either version 2 of the License, or +#(at your option) any later version. + +#This program is distributed in the hope that it will be useful, +#but WITHOUT ANY WARRANTY; without even the implied warranty of +#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +#GNU General Public License for more details. + +#You should have received a copy of the GNU General Public License +#along with this program; if not, write to the Free Software +#Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +################################################################################## + +input=$(arecord -l) + +if [[ $input == *"card 0: DX [Xonar DX]"* ]]; then + card_number="0" +elif [[ $input == *"card 1: DX [Xonar DX]"* ]]; then + card_number="1" +elif [[ $input == *"card 2: DX [Xonar DX]"* ]]; then + card_number="2" +elif [[ $input == *"card 3: DX [Xonar DX]"* ]]; then + card_number="3" +elif [[ $input == *"card 4: DX [Xonar DX]"* ]]; then + card_number="4" +fi + + +input=$(amixer -c "$card_number" sget "Front Panel") + +if [[ $input == *"Mono: Playback [off]"* ]]; then + amixer -c "$card_number" -- sset "Front Panel" unmute +elif [[ $input == *"Mono: Playback [on]"* ]]; then + amixer -c "$card_number" -- sset "Front Panel" mute +fi diff --git a/.local/share/scripts/alsa-mic-amp.sh b/.local/share/scripts/alsa-mic-amp.sh new file mode 100755 index 0000000..86f232b --- /dev/null +++ b/.local/share/scripts/alsa-mic-amp.sh @@ -0,0 +1,52 @@ +#!/bin/bash +SCRIPT_VERSION=0.4.64 + +#alsa-fp-switch.sh +#ASUS Xonar DX Front Panel mute and unmute Bash Script +#Build version: 1.1 +#Build date: 2017.12.15. +#Made by Tamas Banki + +################################################################################# +#Copyright (C) 2007 Free Software Foundation. + +#This program is free software; you can redistribute it and/or modify +#it under the terms of the GNU General Public License as published by +#the Free Software Foundation; either version 2 of the License, or +#(at your option) any later version. + +#This program is distributed in the hope that it will be useful, +#but WITHOUT ANY WARRANTY; without even the implied warranty of +#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +#GNU General Public License for more details. + +#You should have received a copy of the GNU General Public License +#along with this program; if not, write to the Free Software +#Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +################################################################################## + +input=$(arecord -l) + +if [[ $input == *"card 0: DX [Xonar DX]"* ]]; then + card_number="0" +elif [[ $input == *"card 1: DX [Xonar DX]"* ]]; then + card_number="1" +elif [[ $input == *"card 2: DX [Xonar DX]"* ]]; then + card_number="2" +elif [[ $input == *"card 3: DX [Xonar DX]"* ]]; then + card_number="3" +elif [[ $input == *"card 4: DX [Xonar DX]"* ]]; then + card_number="4" +fi + + +input=$(amixer -c "$card_number" sget "Mic Boost (+20dB)") + +#it just needs to be on +amixer -c "$card_number" -- sset "Mic Boost (+20dB)" unmute + +# if [[ $input == *"Mono: Playback [off]"* ]]; then +# amixer -c "$card_number" -- sset "Mic Boost (+20dB)" unmute +# elif [[ $input == *"Mono: Playback [on]"* ]]; then +# amixer -c "$card_number" -- sset "Mic Boost (+20dB)" mute +# fi diff --git a/.local/share/scripts/pipewire-switch-outputs-templar.sh b/.local/share/scripts/pipewire-switch-outputs-templar.sh new file mode 100755 index 0000000..242505a --- /dev/null +++ b/.local/share/scripts/pipewire-switch-outputs-templar.sh @@ -0,0 +1,12 @@ +#!/bin/bash + +# script to switch between the two audio outputs on my desktop + +headphone_templar=$(pactl list short sinks | grep analog-stereo | awk '{print $2}') +hdmi_sound_templar=$(pactl list short sinks | grep iec958-stereo | awk '{print $2}') + +if [[ $(pactl get-default-sink) == $headphone_templar ]]; then + pactl set-default-sink $hdmi_sound_templar +elif [[ $(pactl get-default-sink) == $hdmi_sound_templar ]]; then + pactl set-default-sink $headphone_templar +fi diff --git a/.local/share/scripts/tofi/brightnessmenu.fish b/.local/share/scripts/tofi/brightnessmenu.fish new file mode 100755 index 0000000..4bea410 --- /dev/null +++ b/.local/share/scripts/tofi/brightnessmenu.fish @@ -0,0 +1,6 @@ +#!/usr/bin/fish +set b $(seq 0 5 100 | tofi --config ~/.config/tofi/brightness_config) + +for i in (ddcutil detect | rg Display | sed -r "s/^Display (\d*)/$1/") + ddcutil setvcp 10 $b -d $i +end diff --git a/.config/hypr/tofi_scripts/brightnessmenu.sh b/.local/share/scripts/tofi/brightnessmenu.sh similarity index 52% rename from .config/hypr/tofi_scripts/brightnessmenu.sh rename to .local/share/scripts/tofi/brightnessmenu.sh index eea9e20..2811eac 100755 --- a/.config/hypr/tofi_scripts/brightnessmenu.sh +++ b/.local/share/scripts/tofi/brightnessmenu.sh @@ -3,6 +3,6 @@ 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 +for i in $(ddcutil detect | rg Display | sed -r "s/^Display (\d*)/$1/") + do ddcutil setvcp 10 $b -d $i done diff --git a/.config/hypr/tofi_scripts/cliphist.sh b/.local/share/scripts/tofi/cliphist.sh similarity index 100% rename from .config/hypr/tofi_scripts/cliphist.sh rename to .local/share/scripts/tofi/cliphist.sh diff --git a/.config/hypr/tofi_scripts/powermenu.sh b/.local/share/scripts/tofi/powermenu.sh similarity index 100% rename from .config/hypr/tofi_scripts/powermenu.sh rename to .local/share/scripts/tofi/powermenu.sh diff --git a/resolv.dgav_neu.conf b/resolv.dgav_neu.conf new file mode 100644 index 0000000..382902b --- /dev/null +++ b/resolv.dgav_neu.conf @@ -0,0 +1,5 @@ +# Generated by resolvconf +search fritz.box +nameserver 10.1.1.1 +nameserver fd00:10:1:1:c523:a039:1a28:3620 +nameserver fd00:10:1:1:464e:6dff:fe60:a35b