From c50febb9222b2801dea58c56b2fe79904f75601a Mon Sep 17 00:00:00 2001 From: Kristofers Solo Date: Wed, 17 Sep 2025 16:43:28 +0300 Subject: [PATCH] Update 2025-09-30 Update 2025-09-30 Update 2025-09-30 --- .dotter/artix-laptop.toml | 2 +- .dotter/global.toml | 3 +- config/asm-lsp/.asm-lsp.toml | 34 ++++------ config/awesome/rc.lua | 35 ++++++++-- config/btop/btop.conf | 7 +- config/git/config | 7 +- config/hypr/hyprland.conf | 27 ++++---- config/hypr/hyprpaper.conf | 6 +- config/jj/config.toml | 13 ++++ config/niri/config-desktop.kdl | 18 +++-- config/niri/config-laptop.kdl | 53 ++++++++++----- config/picom.conf | 1 + config/shell/env | 2 +- config/swaylock | 67 ------------------- config/swaylock.conf | 64 ++++++++++++++++++ config/waybar/config.jsonc | 16 ++--- config/yazi/package.toml | 28 ++++---- config/yazi/plugins/chmod.yazi/README.md | 2 +- config/yazi/plugins/diff.yazi/README.md | 2 +- config/yazi/plugins/mediainfo.yazi/README.md | 3 + config/yazi/plugins/mount.yazi/README.md | 4 +- config/yazi/plugins/office.yazi/main.lua | 23 +++---- .../yazi/plugins/smart-filter.yazi/README.md | 2 +- config/zsh/.zprofile-wayland | 4 +- config/zsh/.zshrc | 2 + local/bin/swap-wallpaper | 14 ++++ 26 files changed, 253 insertions(+), 186 deletions(-) create mode 100644 config/jj/config.toml delete mode 100644 config/swaylock create mode 100644 config/swaylock.conf create mode 100644 local/bin/swap-wallpaper diff --git a/.dotter/artix-laptop.toml b/.dotter/artix-laptop.toml index 02bb140b..9ed9f970 100644 --- a/.dotter/artix-laptop.toml +++ b/.dotter/artix-laptop.toml @@ -8,4 +8,4 @@ terminal = "alacritty" browser = "floorp" [files] -"config/niri/config-laptop.kdl" = "~/.config/niri/config.kdl" +"config/niri/config-laptop.kdl" = {target = "~/.config/niri/config.kdl", type = "template"} diff --git a/.dotter/global.toml b/.dotter/global.toml index 42fda699..a13ed39d 100644 --- a/.dotter/global.toml +++ b/.dotter/global.toml @@ -80,6 +80,7 @@ depends = [ "torrent", "zathura", "email" ] "config/gitui/" = "~/.config/gitui/" "config/lazygit/" = "~/.config/lazygit/" "config/git/" = "~/.config/git/" +"config/jj/" = "~/.config/jj/" "config/mpv/" = "~/.config/mpv/" "config/lf/" = "~/.config/lf/" "config/paru.conf" = "~/.config/paru/paru.conf" @@ -139,7 +140,7 @@ depends = [ "misc", "local", "eww", "lock" ] [lock.files] "config/gtklock/" = "~/.config/gtklock/" -"config/swaylock" = "~/.config/swaylock/config" +"config/swaylock.conf" = "~/.config/swaylock/config" [picom.files] "config/picom.conf" = "~/.config/picom/picom.conf" diff --git a/config/asm-lsp/.asm-lsp.toml b/config/asm-lsp/.asm-lsp.toml index e80712cb..9e83ca1d 100644 --- a/config/asm-lsp/.asm-lsp.toml +++ b/config/asm-lsp/.asm-lsp.toml @@ -4,25 +4,19 @@ assembler = "gas" instruction_set = "riscv" [default_config.opts] -compiler = "zig" -compile_flags_txt = [ - "cc", - "-x", - "assembler-with-cpp", - "-g", - "-Wall", - "-Wextra", - "-pedantic", - "-pedantic-errors", - "-std=c2y", - "-target", - "aarch64-linux-musl", -] -diagnostics = true -default_diagnostics = false - -[project.opts] -compiler = "zig" -compile_flags_txt = [ ] +# compiler = "zig" +# compile_flags_txt = [ +# "cc", +# "-x", +# "assembler-with-cpp", +# "-g", +# "-Wall", +# "-Wextra", +# "-pedantic", +# "-pedantic-errors", +# "-std=c2y", +# "-target", +# "aarch64-linux-musl", +# ] diagnostics = true default_diagnostics = false diff --git a/config/awesome/rc.lua b/config/awesome/rc.lua index 1024940b..080b4cfb 100644 --- a/config/awesome/rc.lua +++ b/config/awesome/rc.lua @@ -270,10 +270,10 @@ awful.screen.connect_for_each_screen(function(s) margin_top = 1, theme = "teal", }), - github_activity_widget({ + --[[ github_activity_widget({ username = "kristoferssolo", number_of_events = 10, - }), + }), ]] wibox.widget.systray(), cpu_widget({ width = 50, @@ -284,7 +284,7 @@ awful.screen.connect_for_each_screen(function(s) process_info_max_length = -1, timeout = 1, }), - net_speed_widget(), + -- net_speed_widget(), -- docker_widget(), spotify_widget({ play_icon = "/usr/share/icons/Papirus-Light/24x24/categories/spotify.svg", @@ -612,7 +612,6 @@ awful.rules.rules = { placement = awful.placement.no_overlap + awful.placement.no_offscreen, }, }, - -- Floating clients. { rule_any = { @@ -669,7 +668,17 @@ awful.rules.rules = { properties = { screen = 2, tag = "5" }, }, { - rule_any = { class = { "discord", "TelegramDesktop", "ripcord", "KotatogramDesktop", "vesktop" } }, + rule_any = { + class = { + "discord", + "ripcord", + "vesktop", + "TelegramDesktop", + "KotatogramDesktop", + "AyuGram", + "AyuGramDesktop", + }, + }, properties = { screen = 2, tag = "8" }, }, { @@ -679,6 +688,22 @@ awful.rules.rules = { { rule_any = { class = { "kdeconnect.app" } }, properties = { screen = 2, tag = "7" } }, { rule_any = { class = { "Spotify" } }, properties = { screen = 2, tag = "9" } }, { rule_any = { class = { "mpv" } }, properties = { fullscreen = true } }, + + { + rule = { + class = "exiled-exchange-2", + }, + properties = { + -- fullscreen = true, + floating = true, -- Float above PoE2 + ontop = true, -- Stay on top + sticky = false, -- ← KEY: Pin to PoE2 workspace only (stops flicker) + skip_taskbar = true, -- Hide from taskbar + skip_pager = true, -- Hide from workspace switcher + placement = awful.placement.top_right, -- Top-right overlay + raise = false, -- Don't auto-raise (helps with flicker) + }, + }, } --- Signals diff --git a/config/btop/btop.conf b/config/btop/btop.conf index 3d6744a4..56b91330 100644 --- a/config/btop/btop.conf +++ b/config/btop/btop.conf @@ -1,4 +1,4 @@ -#? Config file for btop v. 1.4.4 +#? Config file for btop v. 1.4.5 #* Name of a btop++/bpytop/bashtop formatted ".theme" file, "Default" and "TTY" for builtin themes. #* Themes should be placed in "../share/btop/themes" relative to binary or "$HOME/.config/btop/themes" @@ -115,6 +115,9 @@ cpu_bottom = False #* Shows the system uptime in the CPU box. show_uptime = True +#* Shows the CPU package current power consumption in watts. Requires running `make setcap` or `make setuid` or running with sudo. +show_cpu_watts = True + #* Show cpu temperature. check_temp = True @@ -151,7 +154,7 @@ custom_cpu_name = "" #* Optional filter for shown disks, should be full path of a mountpoint, separate multiple values with whitespace " ". #* Only disks matching the filter will be shown. Prepend exclude= to only show disks not matching the filter. Examples: disk_filter="/boot /home/user", disks_filter="exclude=/boot /home/user" -disks_filter = "exclude=/boot /var/cache/pacman/pkg /var/log /home" +disks_filter = "exclude=/boot /var/cache/pacman/pkg /var/log" #* Show graphs instead of meters for memory values. mem_graphs = True diff --git a/config/git/config b/config/git/config index 5f1263b4..0be94aa7 100644 --- a/config/git/config +++ b/config/git/config @@ -10,9 +10,9 @@ whitespace = error preloadindex = true -[url "git@github.com:kristoferssolo:"] +[url "git@github.com:kristoferssolo/"] insteadOf = "solo:" -[url "git@github.com"] +[url "git@github.com:"] insteadOf = "gh:" [status] @@ -108,6 +108,3 @@ [include] # TODO: include only for my repos path = ~/.config/git/key -[maintenance] - repo = /home/kristofers/Nextcloud/repos/SoloVim - repo = /home/kristofers/Nextcloud/repos/maze-ascension diff --git a/config/hypr/hyprland.conf b/config/hypr/hyprland.conf index f833b76d..e3e02425 100644 --- a/config/hypr/hyprland.conf +++ b/config/hypr/hyprland.conf @@ -16,8 +16,8 @@ # See https://wiki.hyprland.org/Configuring/Monitors/ monitor=eDP-1,prefered,0x0,1.5 -# monitor=DP-1,prefered,180x-1440,1 -# monitor=HDMI-A-1,prefered,480x-1080,1 +monitor=DP-1,prefered,0x-1440,1 +monitor=HDMI-A-1,prefered,0x-1440,1 # monitor=HDMI-A-1,prefered,mirror,eDP-1 # monitor=DP-1,prefered,mirror,eDP-1 # monitor=DP-1,disabled @@ -47,9 +47,10 @@ exec-once=pipewire & pipewire-pulse & wireplumber & eww daemon & eww open bar exec-once=dbus-update-activation-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP DISPLAY XAUTHORITY exec-once=nextcloud & /usr/lib/hyprpolkitagent & xrdb "$XDG_CONFIG_HOME/x11/xresources" & transmission-daemon & mako & hyprpaper exec-once=[workspace 1 silent] $browser -exec-once=[workspace 8 silent] kotatogram-desktop & flatpak run dev.vencord.Vesktop +exec-once=[workspace 8 silent] kotatogram-desktop & vesktop # exec-once=[workspace 9 silent] spotify-launcher -exec-once = hyprpm reload -n +exec-once=hyprpm reload +exec-once=swap-wallpaper # Source a file (multi-file configs) source=~/.config/hypr/rose-pine.conf @@ -204,10 +205,8 @@ input { } } -# https://wiki.hyprland.org/Configuring/Variables/#gestures -gestures { - workspace_swipe = true -} +# See https://wiki.hypr.land/Configuring/Gestures +gesture = 3, horizontal, workspace # Example per-device config # See https://wiki.hyprland.org/Configuring/Keywords/#per-device-input-configs for more @@ -230,8 +229,8 @@ plugin { bg_col = rgb(191724) workspace_method = center current # [center/first] [workspace] e.g. first 1 or center m+1 - enable_gesture = true # laptop touchpad - gesture_fingers = 4 # 3 or 4 + # enable_gesture = true # laptop touchpad + # gesture_fingers = 4 # 3 or 4 gesture_distance = 300 # how far is the "max" gesture_positive = false # positive = swipe down. Negative = swipe up. } @@ -257,13 +256,14 @@ bind = $mainMod, N, exec, $fileManager bind = $mainMod CTRL, SPACE, togglefloating bind = $mainMod, P, exec, $menu bind = $mainMod, G, exec, rofi -modi games -show games -theme games-smaller -bind = $mainMod, C, exec, rofi -show calc -modi calc -no-show-match -no-sort -calc-command "echo -n '{result}' | wl-copy" +bind = $mainMod, C, exec, rofi -show calc -modi calc -no-show-match -no-sort -calc-command "echo -n '{result}' | wl-copy" bind = $mainMod, W, exec, networkmanager_dmenu bind = $mainMod SHIFT, P, exec, cliphist list | wofi -S dmenu | cliphist decode | wl-copy bind = $mainMod, F, fullscreen bind = $mainMod, M, bringactivetotop bind = $mainMod, A, pin bind = $mainMod, B, exec, $browser +bind = $mainMod SHIFT, P, exec, swap-wallpaper # bind = $mainMod, O, split-changemonitor, +1 # bind = $mainMod, P, pseudo, # dwindle # bind = $mainMod, J, togglesplit, # dwindle @@ -349,6 +349,7 @@ bind = $mainMod SHIFT, K, movewindow, u bind = $mainMod SHIFT, L, movewindow, r bind = $mainMod SHIFT, H, movewindow, l + # Laptop multimedia keys for volume and LCD brightness bindel = ,XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 2%+ # bindel = , XF86AudioRaiseVolume, exec, pulsemixer --change-volume +2 # increase volume by 2 @@ -363,8 +364,8 @@ bindel = ,XF86MonBrightnessDown, exec, doas brightnessctl set 2%- # decrease br # # Requires playerctl bindl = , XF86AudioNext, exec, playerctl next -bindl = , XF86AudioPause, exec, playerctl play-pause -bindl = , XF86AudioPlay, exec, playerctl play-pause +# bindl = , XF86AudioPause, exec, playerctl play-pause +# bindl = , XF86AudioPlay, exec, playerctl play-pause bindl = , XF86AudioPrev, exec, playerctl previous # bindel = , XF86AudioPlay, exec, playerctl -a play-pause # pause/play everything diff --git a/config/hypr/hyprpaper.conf b/config/hypr/hyprpaper.conf index c5f68097..bb7177a0 100644 --- a/config/hypr/hyprpaper.conf +++ b/config/hypr/hyprpaper.conf @@ -1,5 +1,5 @@ -ipc = off # save on baterry +ipc = on # save on battery splash = true -preload = ~/Pictures/wallpapers/anime/frieren/frieren-beyond-journeys-end-anime-4k-wallpaper.jpg +# preload = ~/Pictures/wallpapers/Linux-Dynamic-Wallpapers/Fuji/Fuji-2.png -wallpaper = ,~/Pictures/wallpapers/anime/frieren/frieren-beyond-journeys-end-anime-4k-wallpaper.jpg +# wallpaper = ,~/Pictures/wallpapers/Linux-Dynamic-Wallpapers/Fuji/Fuji-2.png diff --git a/config/jj/config.toml b/config/jj/config.toml new file mode 100644 index 00000000..f74a12cc --- /dev/null +++ b/config/jj/config.toml @@ -0,0 +1,13 @@ +#:schema https://jj-vcs.github.io/jj/latest/config-schema.json +[user] +email = "dev@kristofers.xyz" +name = "Kristofers Solo" + +[ui] +editor = "nvim" +default-command = "log" + +[signing] +behavior = "own" +backend = "gpg" +# key = "$(cat ~/.config/jj/key)" diff --git a/config/niri/config-desktop.kdl b/config/niri/config-desktop.kdl index c06c2f36..5d5dbb24 100644 --- a/config/niri/config-desktop.kdl +++ b/config/niri/config-desktop.kdl @@ -116,10 +116,6 @@ workspace "browser" { open-on-output "DP-1" } -workspace "eq" { - open-on-output "DP-1" -} - workspace "chat" { open-on-output "HDMI-A-1" } @@ -372,13 +368,17 @@ window-rule { } window-rule { - match at-startup=true app-id=r#"floorp$"# - open-maximized false + match at-startup=true app-id="floorp" + open-maximized true open-on-workspace "browser" } window-rule { match at-startup=true app-id=r#"^org\.telegram\.desktop$"# + match at-startup=true app-id=r#"^org\.gnome\.Fractal$"# + match at-startup=true app-id=r#"discord"# + match at-startup=true app-id=r#"vesktop"# + exclude app-id=r#"^org\.telegram\.desktop$"# title="^Media viewer$" open-on-workspace "chat" } @@ -408,7 +408,8 @@ binds { // Suggested binds for running programs: terminal, app launcher, screen locker. Mod+Return hotkey-overlay-title="Open a Terminal: alacritty" { spawn "alacritty"; } Mod+P hotkey-overlay-title="Run an Application: fuzzel" { spawn "fuzzel"; } - Super+Space hotkey-overlay-title="Lock the Screen: hyprlock" { spawn "hyprlock"; } + Super+Space allow-when-locked=true hotkey-overlay-title="Lock the Screen: swaylock" { spawn "swaylock"; } + // Super+Space hotkey-overlay-title="Lock the Screen: hyprlock" { spawn "hyprlock"; } // 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. @@ -630,6 +631,9 @@ binds { // Powers off the monitors. To turn them back on, do any input like // moving the mouse or pressing any other key. Mod+Shift+P { power-off-monitors; } + + Mod+Shift+P { spawn "swap-wallpaper"; } + Mod+B { spawn "floorp"; } } hotkey-overlay { diff --git a/config/niri/config-laptop.kdl b/config/niri/config-laptop.kdl index a4ad1fc1..58144e1e 100644 --- a/config/niri/config-laptop.kdl +++ b/config/niri/config-laptop.kdl @@ -4,7 +4,9 @@ // https://github.com/YaLTeR/niri/wiki/Configuration:-Introduction workspace "browser" +workspace "terminal" workspace "chat" +workspace "music" environment { QT_QPA_PLATFORM "wayland" @@ -126,7 +128,7 @@ output "eDP-1" { variable-refresh-rate on-demand=true focus-at-startup background-color "#000" - backdrop-color "#000" + backdrop-color "#191724" } // Settings that influence how windows are positioned and sized. @@ -284,20 +286,23 @@ layout { // See the binds section below for more spawn examples. // This line starts waybar, a commonly used bar for Wayland compositors. +spawn-at-startup "xwayland-satellite" spawn-at-startup "pipewire" spawn-at-startup "pipewire-pulse" spawn-at-startup "wireplumber" -spawn-at-startup "eww" "daemon" -spawn-at-startup "eww" "open bar" +spawn-at-startup "waybar" +// spawn-at-startup "eww" "daemon" +// spawn-at-startup "eww" "open bar" spawn-at-startup "mako" // spawn-at-startup "dbus-update-activation-environment" "WAYLAND_DISPLAY" "XDG_CURRENT_DESKTOP" "DISPLAY" "XAUTHORITY" spawn-at-startup "nextcloud" // spawn-at-startup "/usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1" spawn-at-startup "xrdb" "~/.config/x11/xresources" spawn-at-startup "transmission-daemon" -spawn-at-startup "floorp" +spawn-at-startup "{{browser}}" spawn-at-startup "kotatogram-desktop" -spawn-at-startup "flatpak" "run" "dev.vencord.Vesktop" +spawn-at-startup "vesktop" +spawn-at-startup "swap-wallpaper" // Uncomment this line to ask the clients to omit their client-side decorations if possible. // If the client will specifically ask for CSD, the request will be honored. @@ -330,6 +335,10 @@ layer-rule { block-out-from "screencast" } +window-rule { + draw-border-with-background false +} + // Window rules let you adjust behavior for individual windows. // Find more information on the wiki: // https://github.com/YaLTeR/niri/wiki/Configuration:-Window-Rules @@ -372,18 +381,22 @@ window-rule { } window-rule { - match at-startup=true app-id=r#"floorp$"# + match at-startup=true app-id="floorp" open-maximized true open-on-workspace "browser" } window-rule { match at-startup=true app-id=r#"^org\.telegram\.desktop$"# + match at-startup=true app-id=r#"^org\.gnome\.Fractal$"# + match at-startup=true app-id=r#"discord"# + match at-startup=true app-id=r#"vesktop"# + exclude app-id=r#"^org\.telegram\.desktop$"# title="^Media viewer$" open-on-workspace "chat" + opacity 0.95 } - // Example: enable rounded corners for all windows. // (This example rule is commented out with a "/-" in front.) /-window-rule { @@ -407,9 +420,10 @@ binds { Mod+Shift+Slash { show-hotkey-overlay; } // Suggested binds for running programs: terminal, app launcher, screen locker. - Mod+Return hotkey-overlay-title="Open a Terminal: alacritty" { spawn "alacritty"; } + Mod+Return hotkey-overlay-title="Open a Terminal: {{terminal}}" { spawn "{{terminal}}"; } Mod+P hotkey-overlay-title="Run an Application: fuzzel" { spawn "fuzzel"; } - Super+Space hotkey-overlay-title="Lock the Screen: hyprlock" { spawn "hyprlock"; } + Super+Space allow-when-locked=true hotkey-overlay-title="Lock the Screen: swaylock" { spawn "swaylock"; } + // Super+Space hotkey-overlay-title="Lock the Screen: hyprlock" { spawn "hyprlock"; } // 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. @@ -527,24 +541,24 @@ binds { // // For example, with 2 workspaces + 1 empty, indices 3, 4, 5 and so on // will all refer to the 3rd workspace. - Mod+1 { focus-workspace 1; } - Mod+2 { focus-workspace 2; } + Mod+1 { focus-workspace "browser"; } + Mod+2 { focus-workspace "terminal"; } Mod+3 { focus-workspace 3; } Mod+4 { focus-workspace 4; } Mod+5 { focus-workspace 5; } Mod+6 { focus-workspace 6; } Mod+7 { focus-workspace 7; } - Mod+8 { focus-workspace 8; } - Mod+9 { focus-workspace 9; } - Mod+Shift+1 { move-column-to-workspace 1; } - Mod+Shift+2 { move-column-to-workspace 2; } + Mod+8 { focus-workspace "chat"; } + Mod+9 { focus-workspace "music"; } + Mod+Shift+1 { move-column-to-workspace "browser"; } + Mod+Shift+2 { move-column-to-workspace "terminal"; } Mod+Shift+3 { move-column-to-workspace 3; } Mod+Shift+4 { move-column-to-workspace 4; } Mod+Shift+5 { move-column-to-workspace 5; } Mod+Shift+6 { move-column-to-workspace 6; } Mod+Shift+7 { move-column-to-workspace 7; } - Mod+Shift+8 { move-column-to-workspace 8; } - Mod+Shift+9 { move-column-to-workspace 9; } + Mod+Shift+8 { move-column-to-workspace "chat"; } + Mod+Shift+9 { move-column-to-workspace "music"; } // Alternatively, there are commands to move just a single window: // Mod+Ctrl+1 { move-window-to-workspace 1; } @@ -630,7 +644,10 @@ binds { // Powers off the monitors. To turn them back on, do any input like // moving the mouse or pressing any other key. - Mod+Shift+P { power-off-monitors; } + // Mod+Shift+P { power-off-monitors; } + + Mod+Shift+P { spawn "swap-wallpaper"; } + Mod+B { spawn "{{browser}}"; } } hotkey-overlay { diff --git a/config/picom.conf b/config/picom.conf index 59e0eec7..38af3e76 100644 --- a/config/picom.conf +++ b/config/picom.conf @@ -432,6 +432,7 @@ opacity-rule = [ "95:class_g = 'Ripcord'", "95:class_g = 'TelegramDesktop'", "95:class_g = 'KotatogramDesktop'", + "95:class_g = 'AyuGramDesktop'", "95:class_g = 'Thunderbird'", "95:class_g = 'VSCodium'", "95:class_g = 'discord'", diff --git a/config/shell/env b/config/shell/env index b84e97a7..e9c9e22f 100644 --- a/config/shell/env +++ b/config/shell/env @@ -10,7 +10,7 @@ typeset -U PATH path export PATH="$PATH:${$(find ~/.local/bin -type d -printf %p:)%%:}" export PATH="$PATH:~/.spicetify" export PATH="$PATH:${$(find ~/.cache/.bun/bin -type d -printf %p:)%%:}" -export PATH=$JAVA_HOME/bin:$PATH +export PATH="$JAVA_HOME/bin:$PATH" # Disable files export LESSHISTFILE=- diff --git a/config/swaylock b/config/swaylock deleted file mode 100644 index e1d671e6..00000000 --- a/config/swaylock +++ /dev/null @@ -1,67 +0,0 @@ -ignore-empty-password -font="Fira Sans Semibold" -font-size=128 - -clock -timestr=%T -datestr=%d.%m.%Y - -# Add current screenshot as wallpaper -screenshots - -# Add an image as a background -# image=~/.cache/current_wallpaper.jpg - -# Fade in time -#fade-in=0.5 - -# Effect for background -effect-blur=10x5 -# effect-greyscale -# effect-pixelate=5 - -# Show/Hide indicator circle -indicator - -# smaller indicator -#indicator-radius=200 - -# bigger indicator -indicator-radius=300 - -indicator-thickness=0 -indicator-caps-lock - -# Define all colors - -key-hl-color=00000066 -separator-color=00000000 - -inside-color=00000000 -inside-clear-color=c0caf500 -inside-caps-lock-color=c0caf500 -inside-ver-color=c0caf500 -inside-wrong-color=c0caf500 - -ring-color=c0caf5 -ring-clear-color=c0caf5 -ring-caps-lock-color=c0caf5 -ring-ver-color=c0caf5 -ring-wrong-color=c0caf5 - -line-color=00000000 -line-clear-color=c0caf5FF -line-caps-lock-color=c0caf5FF -line-ver-color=c0caf5FF -line-wrong-color=c0caf5FF - -text-color=c0caf5 -text-clear-color=c0caf5 -text-ver-color=c0caf5 -text-wrong-color=c0caf5 - -bs-hl-color=c0caf5 -caps-lock-key-hl-color=c0caf5FF -caps-lock-bs-hl-color=c0caf5FF -disable-caps-lock-text -text-caps-lock-color=c0caf5 diff --git a/config/swaylock.conf b/config/swaylock.conf new file mode 100644 index 00000000..927bf3e4 --- /dev/null +++ b/config/swaylock.conf @@ -0,0 +1,64 @@ +daemonize +show-failed-attempts +clock +screenshot +effect-blur=13x13 +effect-vignette=0.5:0.5 +indicator +indicator-radius=200 +indicator-thickness=20 + +grace=2 +grace-no-mouse +grace-no-touch + +datestr=%e. %B +timestr=%I:%M:%S %p +fade-in=0.5 +ignore-empty-password + +# Background color +color=#191724 + +# Layout text colors +layout-bg-color=#00000000 +layout-border-color=#00000000 +layout-text-color=#e0def4 + +# Text color +text-color=#31748f +text-clear-color=#9ccfd8 +text-caps-lock-color=#f6c177 +text-ver-color=#c4a7e7 +text-wrong-color=#eb6f92 + +# Highlight segments +bs-hl-color=#19172466 +key-hl-color=#31748f +caps-lock-bs-hl-color=#19172466 +caps-lock-key-hl-color=#f6c177 + +# Highlight segments separator +separator-color=#00000000 + +# Inside of the indicator +inside-color=#31748f55 +inside-clear-color=#9ccfd855 +inside-caps-lock-color=#f6c17755 +inside-ver-color=#c4a7e755 +inside-wrong-color=#eb6f9255 + +# Line between the inside and ring +line-color=#31748f11 +line-clear-color=#9ccfd811 +line-caps-lock-color=#f6c17711 +line-ver-color=#c4a7e711 +line-wrong-color=#eb6f9211 + +# Indicator ring +ring-color=#31748faa +ring-clear-color=#9ccfd8aa +ring-caps-lock-color=#f6c177aa +ring-ver-color=#c4a7e7aa +ring-wrong-color=#eb6f92aa + diff --git a/config/waybar/config.jsonc b/config/waybar/config.jsonc index 86148618..c4df4c26 100644 --- a/config/waybar/config.jsonc +++ b/config/waybar/config.jsonc @@ -14,16 +14,16 @@ "modules-left": [ "wlr/taskbar" ], - "modules-center": [ - "clock" - ], + "modules-center": [], "modules-right": [ "tray", "network", "cpu", "memory", - "pulseaudio", - "custom/waybar-media" + "battery", + // "pulseaudio" + "custom/waybar-media", + "clock" ], // "modules-right": ["cpu", "memory", "battery", "network", "tray"], // Modules configuration @@ -50,7 +50,7 @@ }, "wlr/taskbar": { // "all-outputs": true, - // "format": "{icon} {title} {short_state}", + // "format": "{icon} {title} {app_id}", "format": "{icon}", "tooltip-format": "{title} | {app_id}", "on-click": "activate", @@ -119,7 +119,7 @@ "clock": { "interval": 1, "tooltip-format": "{:%Y %B}\n{calendar}", - "format": "{:%d.%m. %H:%M:%S}" + "format": "{:%d.%m.%Y %H:%M:%S}" }, "cpu": { "format": "{usage}% 󰍛", @@ -158,7 +158,7 @@ }, "battery": { "states": { - // "good": 95, + "good": 95, "warning": 30, "critical": 15 }, diff --git a/config/yazi/package.toml b/config/yazi/package.toml index 51487a66..f95dbbf9 100644 --- a/config/yazi/package.toml +++ b/config/yazi/package.toml @@ -30,33 +30,33 @@ hash = "62251f94eb67648d42cdfcfb8be0fad2" [[plugin.deps]] use = "yazi-rs/plugins:git" -rev = "d7588f6" +rev = "d1c8baa" hash = "63b6c222bf2103b3023389dde5e2ecfe" [[plugin.deps]] use = "yazi-rs/plugins:chmod" -rev = "d7588f6" -hash = "1adc12c2b2b025411ab61eb8f0879574" +rev = "d1c8baa" +hash = "8ad3e90b079190b4905f24a44f4ca06b" [[plugin.deps]] use = "yazi-rs/plugins:full-border" -rev = "d7588f6" +rev = "d1c8baa" hash = "3996fc74044bc44144b323686f887e1" [[plugin.deps]] use = "yazi-rs/plugins:mount" -rev = "d7588f6" -hash = "e1de3054c0d1a2d8dc6f007eadc0fa31" +rev = "d1c8baa" +hash = "435a2af56ecfb3d05755fd5e24977d8b" [[plugin.deps]] use = "yazi-rs/plugins:smart-filter" -rev = "d7588f6" -hash = "e56b7abf3c06e8ce496eadcca168c093" +rev = "d1c8baa" +hash = "bcda8eeb3f4013bae156aecabfc745e8" [[plugin.deps]] use = "yazi-rs/plugins:diff" -rev = "d7588f6" -hash = "47865a70cade14a0b9b6bc6a54f16bdb" +rev = "d1c8baa" +hash = "82376c3381ae915fd799d40f4dd4c6cd" [[plugin.deps]] use = "AnirudhG07/rich-preview" @@ -65,13 +65,13 @@ hash = "b4040931f0d2f9670ddb4923e55cd881" [[plugin.deps]] use = "macydnah/office" -rev = "33cc61a" -hash = "d7e31c616cc6c8a1f05fdff7c47dae98" +rev = "41ebef8" +hash = "5805affd3ae8adcb3c72b6997d21c0a6" [[plugin.deps]] use = "boydaihungst/mediainfo" -rev = "0e2ae47" -hash = "6656f2869ae2274a0e1860876f15186f" +rev = "2093ab7" +hash = "16a10359fc2a3cd8cc8bcfbe00f744d3" [[plugin.deps]] use = "iynaix/time-travel" diff --git a/config/yazi/plugins/chmod.yazi/README.md b/config/yazi/plugins/chmod.yazi/README.md index b2ad1364..74616a7d 100644 --- a/config/yazi/plugins/chmod.yazi/README.md +++ b/config/yazi/plugins/chmod.yazi/README.md @@ -21,7 +21,7 @@ run = "plugin chmod" desc = "Chmod on selected files" ``` -Make sure the c => m key is not used elsewhere. +Note that, the keybindings above are just examples, please tune them up as needed to ensure they don't conflict with your other commands/plugins. ## License diff --git a/config/yazi/plugins/diff.yazi/README.md b/config/yazi/plugins/diff.yazi/README.md index 1976541e..4203a8ca 100644 --- a/config/yazi/plugins/diff.yazi/README.md +++ b/config/yazi/plugins/diff.yazi/README.md @@ -21,7 +21,7 @@ run = "plugin diff" desc = "Diff the selected with the hovered file" ``` -Make sure the C + d key is not used elsewhere. +Note that, the keybindings above are just examples, please tune them up as needed to ensure they don't conflict with your other commands/plugins. ## License diff --git a/config/yazi/plugins/mediainfo.yazi/README.md b/config/yazi/plugins/mediainfo.yazi/README.md index 952655f5..9498095b 100644 --- a/config/yazi/plugins/mediainfo.yazi/README.md +++ b/config/yazi/plugins/mediainfo.yazi/README.md @@ -50,6 +50,9 @@ using `ffmpeg` if available and media metadata using `mediainfo`. If it output `Not found` then add it to your PATH environment variable. It's better to ask ChatGPT to help you (Prompt: `Add MediaInfo CLI to PATH environment variable in Windows`). +- Install ImageMagick (for linux, you can use your distro package manager to install): + https://imagemagick.org/script/download.php + - Install this plugin: ```bash diff --git a/config/yazi/plugins/mount.yazi/README.md b/config/yazi/plugins/mount.yazi/README.md index b35881f8..20a56151 100644 --- a/config/yazi/plugins/mount.yazi/README.md +++ b/config/yazi/plugins/mount.yazi/README.md @@ -25,7 +25,9 @@ on = "M" run = "plugin mount" ``` -Available keybindings: +Note that, the keybindings above are just examples, please tune them up as needed to ensure they don't conflict with your other commands/plugins. + +## Actions | Key binding | Alternate key | Action | | ------------ | ------------- | --------------------- | diff --git a/config/yazi/plugins/office.yazi/main.lua b/config/yazi/plugins/office.yazi/main.lua index 3ec73850..9e197762 100644 --- a/config/yazi/plugins/office.yazi/main.lua +++ b/config/yazi/plugins/office.yazi/main.lua @@ -38,30 +38,23 @@ function M:doc2pdf(job) :arg({ "--headless", "--convert-to", - "pdf:draw_pdf_Export:{" - .. '"PageRange":{' - .. '"type":"string",' - .. '"value":' - .. '"' - .. job.skip + 1 - .. '"' - .. "}" - .. "}", + 'pdf:draw_pdf_Export:{"PageRange":{"type":"string","value":"' .. job.skip + 1 .. '"}}', "--outdir", tmp, tostring(job.file.url), }) :stdin(Command.NULL) :stdout(Command.PIPED) - :stderr(Command.NULL) + :stderr(Command.PIPED) :output() if not libreoffice.status.success then - ya.err( - libreoffice.stdout:match("LibreOffice .+"):gsub("%\n.*", "") - .. " " - .. libreoffice.stdout:match("Error .+"):gsub("%\n.*", "") - ) + local output = libreoffice.stdout .. libreoffice.stderr + local version = (output:match("LibreOffice .+") or ""):gsub("%\n.*", "") + local error = (output:match("Error:? .+") or ""):gsub("%\n.*", "") + if version ~= "" or error ~= "" then + ya.err((version or "LibreOffice") .. " " .. (error or "Unknown error")) + end return nil, Err("Failed to preconvert `%s` to a temporary PDF", job.file.name) end diff --git a/config/yazi/plugins/smart-filter.yazi/README.md b/config/yazi/plugins/smart-filter.yazi/README.md index 97be2ac4..31872e6a 100644 --- a/config/yazi/plugins/smart-filter.yazi/README.md +++ b/config/yazi/plugins/smart-filter.yazi/README.md @@ -21,7 +21,7 @@ run = "plugin smart-filter" desc = "Smart filter" ``` -Make sure the F key is not used elsewhere. +Note that, the keybindings above are just examples, please tune them up as needed to ensure they don't conflict with your other commands/plugins. ## License diff --git a/config/zsh/.zprofile-wayland b/config/zsh/.zprofile-wayland index c07aadea..bde3260c 100644 --- a/config/zsh/.zprofile-wayland +++ b/config/zsh/.zprofile-wayland @@ -5,5 +5,5 @@ export XDG_CURRENT_DESKTOP=Hyprland export XDG_SESSION_TYPE=wayland export XDG_SESSION_DESKTOP=Hyprland -# [ "$(tty)" = "/dev/tty1" ] && ! pidof -s niri >/dev/null 2>&1 && niri --session -[ "$(tty)" = "/dev/tty1" ] && ! pidof -s Hyprland >/dev/null 2>&1 && Hyprland +[ "$(tty)" = "/dev/tty1" ] && ! pidof -s niri >/dev/null 2>&1 && niri --session +# [ "$(tty)" = "/dev/tty1" ] && ! pidof -s Hyprland >/dev/null 2>&1 && Hyprland diff --git a/config/zsh/.zshrc b/config/zsh/.zshrc index 5f66d9a3..c1ca5e64 100644 --- a/config/zsh/.zshrc +++ b/config/zsh/.zshrc @@ -193,3 +193,5 @@ export PATH="$BUN_INSTALL/bin:$PATH" # bun completions [ -s "/home/kristofers/.bun/_bun" ] && source "/home/kristofers/.bun/_bun" + +. "$HOME/.local/share/../bin/env" diff --git a/local/bin/swap-wallpaper b/local/bin/swap-wallpaper new file mode 100644 index 00000000..ea0744b6 --- /dev/null +++ b/local/bin/swap-wallpaper @@ -0,0 +1,14 @@ +#!/usr/bin/env bash + +WALLPAPER_DIR="$HOME/Pictures/wallpapers/PoE2/3880x2160/" + +if pgrep -x "Hyprland" >/dev/null; then + CURRENT_WALL=$(hyprctl hyprpaper listloaded) + WALLPAPER=$(fd --type file --exclude "$(basename "$CURRENT_WALL")" . "$WALLPAPER_DIR" | shuf -nz 1) + hyprctl hyprpaper reload ,"$WALLPAPER" +else + WALLPAPER=$(fd --type file . "$WALLPAPER_DIR" | shuf -n 1) + pkill swaybg 2>/dev/null || true + swaybg -m fill -i "$WALLPAPER" & + disown +fi