diff --git a/eggs/dconf/user b/eggs/dconf/user index a2eef81..3e55ecf 100644 Binary files a/eggs/dconf/user and b/eggs/dconf/user differ diff --git a/eggs/hypr/.hyprland.conf.swp b/eggs/hypr/.hyprland.conf.swp deleted file mode 100644 index a041d8e..0000000 Binary files a/eggs/hypr/.hyprland.conf.swp and /dev/null differ diff --git a/eggs/hypr/background.jpg b/eggs/hypr/background.jpg deleted file mode 100755 index 359b762..0000000 Binary files a/eggs/hypr/background.jpg and /dev/null differ diff --git a/eggs/hypr/hyprland.conf b/eggs/hypr/hyprland.conf index b72bda6..9d53433 100755 --- a/eggs/hypr/hyprland.conf +++ b/eggs/hypr/hyprland.conf @@ -13,7 +13,7 @@ monitor=DP-3, 3440x1440, -3440x0, 1 # source = ~/.config/hypr/myColors.conf # Set programs that you use -$terminal = kitty zsh +$terminal = kitty $browser = librewolf $fileManager = thunar $menu = rofi @@ -25,20 +25,20 @@ $kill-on-unfocus = /home/someone/Builds/microscripts/kill-on-unfocus # Some default env vars. env = XCURSOR_SIZE,16 +env = XCURSOR_THEME,catppuccin-frappe-mauve-cursors env = QT_QPA_PLATFORMTHEME,qt5ct # should also aply to qt6ct env = XDG_SESSION_TYPE,wayland env = GTK_THEME,catppuccin-frappe-mauve-standard+default env = ICON_THEME,catppuccin-frappe-mauve-cursors env = GNOME22_USER_DIR,/home/someone/.config/gnome2 # For nemo and other gnome 2 apps -env = DESKTOP_SESSION,gnome # Used to let xdg-su (e.g. Yast) know use gnomesu (libgnomesu libgnomesu0) +#env = DESKTOP_SESSION,gnome # Used to let xdg-su (e.g. Yast) know use gnomesu (libgnomesu libgnomesu0) # Fix for nvidia #env = LIBV_DRIVER_NAME,nvidia #env = GBM_BACKEND,nvidia-drm #env = __GLX_VENDOR_LYBARY_NAME,nvidia #env = WLR_NO_HARDWARE_CURSORS,1 -# For all categories, see https://wiki.hyprland.org/Configuring/Variables/ plugin = /run/current-system/sw/lib/libhyprexpo.so plugin { hyprexpo { @@ -50,6 +50,7 @@ plugin { } bind = SUPER, code:65, hyprexpo:expo, toggle + input { kb_layout = us kb_variant = @@ -144,6 +145,19 @@ group { } } +#plugin { +# overview { +# workspaceBorderSize = 4 +# workspaceActiveBorder = rgba(ca9ee6ff) +# workspaceInactiveBorder = rgba(232634ff) +# +# switchOnDrop = true +# exitOnSwitch = false +# showNewWorkspace = false +# disableGestures = true +# } +#} + # Workspaces @@ -179,9 +193,9 @@ windowrule = move 0 2840, title:(.*)(Dialect)$ windowrulev2 = suppressevent maximize, class:.* # You'll probably like this. # Thunar file transfer window, float top right -windowrulev2 = float, initialTitle:[(Copying )|^(Preparing to)],initialclass:^(nemo)$ -windowrulev2 = move 2831 11, initialTitle:[(Copying )|^(Preparing to)],initialclass:^(nemo)$ -windowrulev2 = size 450 100, initialTitle:[(Copying )|^(Preparing to)],initialclass:^(nemo)$ +windowrulev2 = float, initialTitle:[(Copying )|^(Preparing to)],initialclass:^(thunar)$ +windowrulev2 = move 2831 11, initialTitle:[(Copying )|^(Preparing to)],initialclass:^(thunar)$ +windowrulev2 = size 450 100, initialTitle:[(Copying )|^(Preparing to)],initialclass:^(thunar)$ # Fixing steam drop down windowrulev2 = stayfocused, title:^()$,class:^(steam)$ @@ -207,11 +221,11 @@ windowrulev2 = float,class:^(genshinimpact.exe)$ # Setting weather to floing near bar windowrulev2 = float,class:^(bar_popup|com.nextcloud.desktopclient.nextcloud)$ -windowrulev2 = move 2758 298,title:^(Weather Report)$,class:^(bar_popup)$ -windowrulev2 = size 596 819, title:^(Weather Report)$,class:^(bar_popup)$ +windowrulev2 = move 2690 298,title:^(Weather Report)$,class:^(bar_popup)$ +windowrulev2 = size 670 850, title:^(Weather Report)$,class:^(bar_popup)$ -windowrulev2 = move 2755 608,title:^(Connection Editor|Audio Mixer)$,class:^(bar_popup)$ -windowrulev2 = size 596 819, title:^(Connection Editor|Audio Mixer)$,class:^(bar_popup)$ +windowrulev2 = move 2755 608,title:^(Connection Editor|Pipewire Volume Control)$,class:^(bar_popup|com.saivert.pwvucontrol)$ +windowrulev2 = size 596 819, title:^(Connection Editor|Pipewire Volume Control)$,class:^(bar_popup|com.saivert.pwvucontrol)$ windowrulev2 = move 2765 615, title^(Nextcloud)$,class:^(com.nextcloud.desktopclient.nextcloud)$ windowrulev2 = size 596 819, title^(Nextcloud)$,class:^(com.nextcloud.desktopclient.nextcloud)$ @@ -223,13 +237,17 @@ windowrulev2 = size 596 819, title^(Nextcloud)$,class:^(com.nextcloud.desktopcli windowrulev2 = float,class:^(Rofi)$ # Exec at start +exec-once= ~/.local/share/until-scripts/run-at-start.sh exec-once= systemctl --user start hyprpolkitagent #Auth agent exec-once= sleep 3 && copyq --start-server #QT_QPA_PLATFORM=xcb exec-once= waybar -c $HOME/.config/waybar/bar/config.jsonc -s $HOME/.config/waybar/bar/style.css exec-once= hyprctl setcursor catppuccin-frappe-mauve-cursors 16 +exec-once= dconf write /org/gnome/desktop/interface/cursor-size "16" +exec-once= dconf write /org/gnome/desktop/interface/cursor-theme "'catppuccin-frappe-mauve-cursors'" +exec-once= dconf write /org/gnome/desktop/interface/gtk-theme "'catppuccin-frappe-mauve-standard+default'" exec-once= hyprpaper # https://github.com/hyprwm/hyprpaper/issues/5q exec-once= openrgb -p $HOME/.config/OpenRGB/Cat.orp -#exec-once= sleep 3 && nextcloud --background #QT_QPA_PLATFORM=xcb +exec-once= sleep 3 && nextcloud --background #QT_QPA_PLATFORM=xcb #exec-once= hyprpm enable Hyprspace exec-once= $workspace-switcher 1 @@ -242,14 +260,15 @@ $moveMod = CONTROLALT # Dispatchers https://wiki.hyprland.org/Configuring/Dispatchers/ # Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more + # Applications bind = $mainMod, RETURN, exec, $terminal bind = $mainMod, code:51, exec, $browser #51 = bind = $mainMod, code:48, exec, $fileManager bind = $mainMod, V, exec, copyq show bindr= $mainMod, SUPER_L, exec, if pgrep -x $menu; then kill $(pgrep -x $menu); else $menu -show drun; fi -bind = ,code:107, exec, grim -g "$(slurp)" - | /home/someone/.local/share/default-venv/bin/python /home/someone/Builds/microscripts/strip_a_pixel.py - | swappy -f - -bind = $mainMod, code:107, exec, grim -o $(hyprctl activeworkspace -j | jq ".monitor" | tr -d "\"") - | /home/someone/.local/share/default-venv/bin/python /home/someone/Builds/microscripts/strip_a_pixel.py - | swappy -f - #" +bind = ,code:107, exec, grim -g "$(slurp)" - | swappy -f - +bind = $mainMod, code:107, exec, grim -o $(hyprctl activeworkspace -j | jq ".monitor" | tr -d "\"") - | swappy -f - #" bind = $subMod, code:107, exec, $kill-on-unfocus textsnatcher bind = $focusMod, code:107, exec, dunstify -a System -r 1000 -t 5000 -i "$HOME/.config/assets/arch-maron.png" "Hyprpicker" "Color: $(hyprpicker -a -r)" diff --git a/eggs/hypr/hyprland.conf.backup b/eggs/hypr/hyprland.conf.backup deleted file mode 100755 index 0a15186..0000000 --- a/eggs/hypr/hyprland.conf.backup +++ /dev/null @@ -1,359 +0,0 @@ - -autogenerated = 0 - -# See https://wiki.hyprland.org/Configuring/Monitors/ -monitor=DP-2, 3440x1440@165, 0x0, 1 -monitor=DP-3, 3440x1440, -3440x0, 1 - -#monitor=HDMI-A-1, 800x480@60, 0x-480, 1 - -# See https://wiki.hyprland.org/Configuring/Keywords/ for more - -# Source a file (multi-file configs) -# source = ~/.config/hypr/myColors.conf - -# Set programs that you use -$terminal = kitty -$browser = librewolf -$fileManager = thunar -$menu = rofi - -$workspace-switcher = /home/someone/Builds/microscripts/workspace_manager -$special-workspace-movment = /home/someone/Builds/microscripts/specia-workspace-movment-toggle -#$workspace-switcher = /home/someone/Code/linux-sys-scripts/workspace_manager.sh -$kill-on-unfocus = /home/someone/Builds/microscripts/kill-on-unfocus - -# Some default env vars. -env = XCURSOR_SIZE,16 -env = XCURSOR_THEME,catppuccin-frappe-mauve-cursors -env = QT_QPA_PLATFORMTHEME,qt5ct # should also aply to qt6ct -env = XDG_SESSION_TYPE,wayland -env = GTK_THEME,catppuccin-frappe-mauve-standard+default -env = ICON_THEME,catppuccin-frappe-mauve-cursors - -env = GNOME22_USER_DIR,/home/someone/.config/gnome2 # For nemo and other gnome 2 apps -#env = DESKTOP_SESSION,gnome # Used to let xdg-su (e.g. Yast) know use gnomesu (libgnomesu libgnomesu0) -# Fix for nvidia -#env = LIBV_DRIVER_NAME,nvidia -#env = GBM_BACKEND,nvidia-drm -#env = __GLX_VENDOR_LYBARY_NAME,nvidia -#env = WLR_NO_HARDWARE_CURSORS,1 - -# For all categories, see https://wiki.hyprland.org/Configuring/Variables/ -input { - kb_layout = us - kb_variant = - kb_model = - kb_options = - kb_rules = - - accel_profile = flat # flat, adaptive, custom e.g. Win profile 0.2 0.0 0.5 1 1.2 1.5 - force_no_accel = false # Not recomended - sensitivity = 0 # -1.0 - 1.0, 0 means no modification. - - follow_mouse = 2 - -} - -general { - # See https://wiki.hyprland.org/Configuring/Variables/ for more - - gaps_in = 5 - gaps_out = 10 - border_size = 2 - col.active_border = rgba(ca9ee6ff) rgba(8caaeeff) 90deg - col.inactive_border = rgba(232634ff) - - layout = master - - # Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on - allow_tearing = false # enable if kernal >= 6.8 -} - -decoration { - # See https://wiki.hyprland.org/Configuring/Variables/ for more - - rounding = 10 - - blur { - enabled = true - size = 3 - passes = 1 - } - - # Deprecated drop_shadow = yes - # Deprecated shadow_range = 4 - # Deprecated shadow_render_power = 3 - # Deprecated col.shadow = rgba(1a1a1aee) -} - -animations { - enabled = yes - - # Some default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more - - bezier = myBezier, 0.05, 0.9, 0.1, 1.05 - - animation = windows, 1, 7, myBezier - animation = windowsOut, 1, 7, default, popin 80% - animation = border, 1, 10, default - animation = borderangle, 1, 8, default - animation = fade, 1, 7, default - animation = workspaces, 1, 6, default -} - -dwindle { - # See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more - pseudotile = yes # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below - preserve_split = yes # you probably want this -} - -master { - # See https://wiki.hyprland.org/Configuring/Master-Layout/ for more - new_status = master -} - -gestures { - # See https://wiki.hyprland.org/Configuring/Variables/ for more - workspace_swipe = off -} - -misc { - # See https://wiki.hyprland.org/Configuring/Variables/ for more - force_default_wallpaper = -1 # Set to 0 to disable the anime mascot wallpapers - disable_splash_rendering = false # The splash text at the bottom - - # Gaming performance - #no_direct_scanout = false - #vrr = 2 # 0 = off, 1 = on, 2 = fullscreen -} - -group { - groupbar { - enabled = true - } -} - -#plugin { -# overview { -# workspaceBorderSize = 4 -# workspaceActiveBorder = rgba(ca9ee6ff) -# workspaceInactiveBorder = rgba(232634ff) -# -# switchOnDrop = true -# exitOnSwitch = false -# showNewWorkspace = false -# disableGestures = true -# } -#} - - - -# Workspaces -workspace = monitor:0, name:1, default:true -workspace = monitor:0, name:2 -workspace = monitor:0, name:3 -workspace = monitor:0, name:4 - -workspace = monitor:1, name:5, default:true -workspace = monitor:1, name:6 -workspace = monitor:1, name:7 -workspace = monitor:1, name:8 - -workspace = special:scratchpad -workspace = special:scratchpad2 -workspace = special:dump - - -# windowrule v1 https://wiki.hyprland.org/Configuring/Window-Rules/ -# Allways start OpenRGB on special:dump - -# Letting float, settng size and pos -windowrulev2 = float, initialclass:^(com.github.hluk.copyq)$ -windowrulev2 = size 500 300, initialclass:^(com.github.hluk.copyq)$ -windowrulev2 = move onscreen cursor 0 -100%, initialclass:^(com.github.hluk.copyq)$ -windowrule = float, title:(.*)(textsnatcher|com.github.rajsolai.textsnatcher|Dialect)$ -windowrule = size 500 300, title:(.*)(textsnatcher|com.github.rajsolai.textsnatcher)$ -windowrule = move onscreen cursor 0 -100%, title:(.*)(textsnatcher|com.github.rajsolai.textsnatcher)$ -# --- fixed pos -windowrule = size 600 300, title:(.*)(Dialect)$ -windowrule = move 0 2840, title:(.*)(Dialect)$ - -windowrulev2 = suppressevent maximize, class:.* # You'll probably like this. - -# Thunar file transfer window, float top right -windowrulev2 = float, initialTitle:[(Copying )|^(Preparing to)],initialclass:^(thunar)$ -windowrulev2 = move 2831 11, initialTitle:[(Copying )|^(Preparing to)],initialclass:^(thunar)$ -windowrulev2 = size 450 100, initialTitle:[(Copying )|^(Preparing to)],initialclass:^(thunar)$ - -# Fixing steam drop down -windowrulev2 = stayfocused, title:^()$,class:^(steam)$ -windowrulev2 = minsize 1 1, title:^()$,class:^(steam)$ - -# Fix Screen +sharing for XWayland -# See https://wiki.hyprland.org/hyprland-wiki/pages/Useful-Utilities/Screen-Sharing/ -windowrulev2 = opacity 0.0 override 0.0 override,class:^(xwaylandvideobridge)$ -windowrulev2 = noanim,class:^(xwaylandvideobridge)$ -windowrulev2 = nofocus,class:^(xwaylandvideobridge)$ -windowrulev2 = noinitialfocus,class:^(xwaylandvideobridge)$ - -# Fix genishin impact, eable tearing -# brroke with 42 windowrulev2 = fakefullscreen,class:^(genshinimpact.exe)$ -windowrulev2 = maximize,class:^(genshinimpact.exe)$ -windowrulev2 = monitor 1,class:^(genshinimpact.exe)$ -# brroke with 42 windowrulev2 = windowdance,class:^(genshinimpact.exe)$ -windowrulev2 = noanim,class:^(genshinimpact.exe)$ -windowrulev2 = float,class:^(genshinimpact.exe)$ -# brroke with 42 windowrulev2 = forceinput,class:^(genshinimpact.exe)$ -#windowrulev2 = stayfocused,class:^(genshinimpact.exe)$ -#windowrulev2 = immediate,class:^(genshinimpact.exe)$ - -# Setting weather to floing near bar -windowrulev2 = float,class:^(bar_popup|com.nextcloud.desktopclient.nextcloud)$ -windowrulev2 = move 2690 298,title:^(Weather Report)$,class:^(bar_popup)$ -windowrulev2 = size 670 850, title:^(Weather Report)$,class:^(bar_popup)$ - -windowrulev2 = move 2755 608,title:^(Connection Editor|Pipewire Volume Control)$,class:^(bar_popup|com.saivert.pwvucontrol)$ -windowrulev2 = size 596 819, title:^(Connection Editor|Pipewire Volume Control)$,class:^(bar_popup|com.saivert.pwvucontrol)$ - -windowrulev2 = move 2765 615, title^(Nextcloud)$,class:^(com.nextcloud.desktopclient.nextcloud)$ -windowrulev2 = size 596 819, title^(Nextcloud)$,class:^(com.nextcloud.desktopclient.nextcloud)$ - -# Other Games -#windowrulev2 = immediate,class:^(overwatch)$ - -# Rofi allways floating -windowrulev2 = float,class:^(Rofi)$ - -# Exec at start -exec-once= $HOME/Builds/microscripts/run-at-start.sh -exec-once= systemctl --user start hyprpolkitagent #Auth agent -exec-once= sleep 3 && copyq --start-server #QT_QPA_PLATFORM=xcb -exec-once= waybar -c $HOME/.config/waybar/bar/config.jsonc -s $HOME/.config/waybar/bar/style.css -exec-once= hyprctl setcursor catppuccin-frappe-mauve-cursors 16 -exec-once= dconf write /org/gnome/desktop/interface/cursor-size "16" -exec-once= dconf write /org/gnome/desktop/interface/cursor-theme "'catppuccin-frappe-mauve-cursors'" -exec-once= dconf write /org/gnome/desktop/interface/gtk-theme "'catppuccin-frappe-mauve-standard+default'" -exec-once= hyprpaper # https://github.com/hyprwm/hyprpaper/issues/5q -exec-once= openrgb -p $HOME/.config/OpenRGB/Cat.orp -exec-once= sleep 3 && nextcloud --background #QT_QPA_PLATFORM=xcb -#exec-once= hyprpm enable Hyprspace -exec-once= $workspace-switcher 1 - -# See https://wiki.hyprland.org/Configuring/Keywords/ for more -$mainMod = SUPER -$subMod = SUPERCONTROL -$focusMod = ALT #L Alt -$resizeMod = ALTSHIFT #L Alt + L shift -$moveMod = CONTROLALT - -# Dispatchers https://wiki.hyprland.org/Configuring/Dispatchers/ -# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more - -# Applications -bind = $mainMod, RETURN, exec, $terminal -bind = $mainMod, code:51, exec, $browser #51 = -bind = $mainMod, code:48, exec, $fileManager -bind = $mainMod, V, exec, copyq show -bindr= $mainMod, SUPER_L, exec, if pgrep -x $menu; then kill $(pgrep -x $menu); else $menu -show drun; fi -bind = ,code:107, exec, grim -g "$(slurp)" - | swappy -f - -bind = $mainMod, code:107, exec, grim -o $(hyprctl activeworkspace -j | jq ".monitor" | tr -d "\"") - | swappy -f - #" -bind = $subMod, code:107, exec, $kill-on-unfocus textsnatcher -bind = $focusMod, code:107, exec, dunstify -a System -r 1000 -t 5000 -i "$HOME/.config/assets/arch-maron.png" "Hyprpicker" "Color: $(hyprpicker -a -r)" - -# Media Buttons https://raw.githubusercontent.com/xkbcommon/libxkbcommon/master/include/xkbcommon/xkbcommon-keysyms.h -bind = ,XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_SINK@ 1%- -bind = ,XF86AudioLowerVolume, exec, dunstify -a System -r 1000 -t 2000 -i $HOME/.config/assets/volume-down.png -h int:value:$(echo "100 * $(wpctl get-volume @DEFAULT_SINK@ | tr -d "Volume: ")" | bc) Volume - -bind = ,XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_SINK@ 1%+ -bind = ,XF86AudioRaiseVolume, exec, dunstify -a System -r 1000 -t 2000 -i $HOME/.config/assets/volume-up.png -h int:value:$(echo "100 * $(wpctl get-volume @DEFAULT_SINK@ | tr -d "Volume: ")" | bc) Volume - -bindl=, XF86AudioPlay, exec, playerctl play-pause -bindl=, XF86AudioPlay, exec, sleep 0.1; if [ "$(playerctl status)" = "Playing" ]; then dunstify -a System -r 1000 -t 2000 -i "$HOME/.config/assets/play.png" "Player" "resumed playback"; else dunstify -a System -r 1000 -t 2000 -i "$HOME/.config/assets/pause.png" "Player" "paused playback"; fi - -bindl=, XF86AudioNext, exec, playerctl next -bindl=, XF86AudioPrev, exec, playerctl previous - -# System ctl -bind =, XF86PowerOff, exec, bash $HOME/Builds/microscripts/sleep.sh hibernate -# Key must be enabled by disabeleing default in /etc/systemd/logind.conf (add: HandlePowerKey=ignore) -# check with: systemd-analyze cat-config systemd/logind.conf, then reboot or systemctl restart systemd-logind -# From https://www.reddit.com/r/swaywm/comments/180ly44/how_to_change_power_button_behavior/ and https://unix.stackexchange.com/questions/555822/how-to-change-power-button-shutdown-action-to-run-a-script-under-systemd - -# Windowmanagment -bind = $mainMod, Q, killactive, -bind = $mainMod, W, fullscreen, 1 -bind = $mainMod, T, fullscreen, 0 -bind = $mainMod, M, forcerendererreload, -bind = $mainMod, F, togglefloating, - -bind = $mainMod, R, togglespecialworkspace, scratchpad -bind = $mainMod, X, togglespecialworkspace, scratchpad2 -bind = $mainMod, code:21, togglespecialworkspace, dump - -bind = $resizeMod, e, layoutmsg, orientationnext -bind = $resizeMod, q, layoutmsg, orientationprev - - -# Change Focus -bind = $focusMod, a, movefocus, l -bind = $focusMod, d, movefocus, r -bind = $focusMod, w, movefocus, u -bind = $focusMod, s, movefocus, d - -# Resize Window -binde = $resizeMod, a, resizeactive,-30 0 -binde = $resizeMod, d, resizeactive, 30 0 -binde = $resizeMod, s, resizeactive, 0 30 -binde = $resizeMod, w, resizeactive, 0 -30 - -# Move Window -bind = $moveMod, a, movewindow, l -bind = $moveMod, d, movewindow, r -bind = $moveMod, s, movewindow, d -bind = $moveMod, w, movewindow, u - -bind = $mainMod, code:112, movewindow, mon:DP-2 -bind = $mainMod, code:117, movewindow, mon:DP-3 - -bind = $mainMod, E, exec, $special-workspace-movment scratchpad -bind = $mainMod, Y, exec, $special-workspace-movment scratchpad2 -bind = $mainMod, code:20, exec, $special-workspace-movment dump - -# Switch workspaces with mainMod -bind = $mainMod, code:113, exec, $workspace-switcher 1 -bind = $mainMod, code:114, exec, $workspace-switcher 2 -bind = $mainMod, code:111, exec, $workspace-switcher 3 -bind = $mainMod, code:116, exec, $workspace-switcher 4 - - -# Workspaces, carry window -bind = $mainMod SHIFT, code:113, exec, $workspace-switcher 1 carry -bind = $mainMod SHIFT, code:114, exec, $workspace-switcher 2 carry -bind = $mainMod SHIFT, code:111, exec, $workspace-switcher 3 carry -bind = $mainMod SHIFT, code:116, exec, $workspace-switcher 4 carry - - -# Workspace management -bind = $mainMod, c, swapactiveworkspaces, DP-2 DP-3 - -# Mousebinds -bindm = $mainMod, mouse:272, movewindow -bindm = $mainMod, mouse:273, resizewindow - -# Submaps -bind = $mainMod, g, submap, gaming - -#Other -bind = $subMod, code:112, movecursor, 1720 720 -bind = $subMod, code:117, movecursor, -2560 720 -#bind = $mainMod, code:65, hyprexpo:expo, toggle # can be: toggle, off/disable or on/enable on space - -submap=gaming -bind = $mainMod, T, fullscreen, 0 -bind = $mainMod, R, togglespecialworkspace, scratchpad -bind = $mainMod, g, submap,reset -bindm = $mainMod, mouse:272, movewindow -bindm = $mainMod, mouse:273, resizewindow -bind = $mainMod, code:51, exec, $browser #51 = # -submap=reset diff --git a/eggs/hypr/img.jpg b/eggs/hypr/img.jpg deleted file mode 100755 index 359b762..0000000 Binary files a/eggs/hypr/img.jpg and /dev/null differ diff --git a/eggs/hypr/scripts/follow_workspace.sh b/eggs/hypr/scripts/follow_workspace.sh new file mode 100755 index 0000000..b18c60e --- /dev/null +++ b/eggs/hypr/scripts/follow_workspace.sh @@ -0,0 +1,49 @@ +#!/usr/bin/env bash + +monitors=$(hyprctl -j monitors | jq "length") +desired_workspaces=4 + + +handle_workspace_change(){ + params=("$@") + workspace_id=$(( ${params[0]} - 1 )) # -1 for we start at 1 + #echo "Workspace ID: $workspace_id" + + + curent_state=$(hyprctl -j monitors) + relative_ws_id=$((($workspace_id % $desired_workspaces) + 1)) # +1 for we start at 1 + ws_group=$(( ($workspace_id - 1) / $desired_workspaces)) + transaction_occured=false + #echo "Following monitor $ws_group to (rel.) WS $relative_ws_id" + for ((dp=0; dp>" and split at commas + + IFS=',' read -ra params <<< "${line#*>>}" + case $cmd in + "workspacev2") + handle_workspace_change ${params[@]} + ;; + esac + +done; \ No newline at end of file diff --git a/eggs/hypr/scripts/specia-workspace-movment-toggle.sh b/eggs/hypr/scripts/specia-workspace-movment-toggle.sh new file mode 100755 index 0000000..27e8f2b --- /dev/null +++ b/eggs/hypr/scripts/specia-workspace-movment-toggle.sh @@ -0,0 +1,15 @@ +#!/usr/bin/env bash + +# Args: $1 = special workspace name +any_special_workspace=$(hyprctl monitors -j) +for (( i = 0; i < $(jq '. | length' <<< "$any_special_workspace"); i++ )); do + echo "$(jq ".[$i].specialWorkspace.name" <<< $any_special_workspace)" + echo "\"special:${1}\"" + if [ "$(jq ".[$i].specialWorkspace.name" <<< $any_special_workspace)" = "\"special:${1}\"" ] ; then + hyprctl dispatch movetoworkspacesilent $(hyprctl activeworkspace -j | jq '.id') + exit + fi +done + +#else +hyprctl dispatch movetoworkspacesilent special:${1} diff --git a/eggs/hypr/scripts/workspace_manager.sh b/eggs/hypr/scripts/workspace_manager.sh new file mode 100755 index 0000000..37ee7e3 --- /dev/null +++ b/eggs/hypr/scripts/workspace_manager.sh @@ -0,0 +1,54 @@ +#!/usr/bin/env bash + +# Args: +# $1: destination +# $2: mode + +WORKSPACES=4 + +function confirm_valid_destination() { + destination=$1 + if [ "${str:0:1}" == "+" ]; then + destination=$(( ${destination:1} + 1 )) + elif [ "${str:0:1}" == "-" ]; then + destination=$(( ${destination:1} - 1 )) + fi + + if [ $destination -lt 1 ]; then + destination=$WORKSPACES + elif [ $destination -gt $WORKSPACES ]; then + destination=1 + fi + echo $destination +} + + + + +active_ws_id=$(hyprctl activeworkspace -j | jq -r '.id') +active_window_monitor_id=$(hyprctl activeworkspace -j | jq -r '.monitorID') +monitors=$(hyprctl monitors -j | jq -r '.[].id') +dp_iterator=0 + +destination=$(confirm_valid_destination $1) +# Adjust destination for monitor +destination_with_monitor=$((($active_window_monitor_id * 4) + $destination)) + +mode=$2 +echo "Destination: $destination" +echo "Destination with monitor: $destination_with_monitor" +for dp in $monitors +do + echo "Display: $dp" + hyprctl dispatch focusmonitor $dp + real_destination=$((($dp_iterator * 4) + $destination)) + echo "Real Destination $real_destination" + if [[ $real_destination -eq $destination_with_monitor && $mode == "carry" ]]; then + echo "Moving window" + hyprctl dispatch movetoworkspace $real_destination + else + echo "Changing workspace" + hyprctl dispatch workspace $real_destination + fi + dp_iterator=$((dp_iterator+1)) +done diff --git a/eggs/hypr/t b/eggs/hypr/t deleted file mode 100755 index dca0f7b..0000000 --- a/eggs/hypr/t +++ /dev/null @@ -1,6 +0,0 @@ -typescript npm meson libsoup-3_0-0 gtk-layer-shell libdbusmenu-gtk3 gjs-devel gtk3-devel gnome-bluetooth upower NetworkManager libdbusmenu-gtk3 libsoup3 - -pulseaudio-devel -pam-devel -gtk-layer-shell-devel -libdbusmenu-gtk3-devel \ No newline at end of file diff --git a/eggs/thunar/xfce/xfconf/xfce-perchannel-xml/thunar.xml b/eggs/thunar/xfce/xfconf/xfce-perchannel-xml/thunar.xml index 3fda9d5..e2dc531 100644 --- a/eggs/thunar/xfce/xfconf/xfce-perchannel-xml/thunar.xml +++ b/eggs/thunar/xfce/xfconf/xfce-perchannel-xml/thunar.xml @@ -6,7 +6,7 @@ - + diff --git a/eggs/utility/util-scripts/kill-on-unfocus.sh b/eggs/utility/util-scripts/kill-on-unfocus.sh new file mode 100755 index 0000000..19c547b --- /dev/null +++ b/eggs/utility/util-scripts/kill-on-unfocus.sh @@ -0,0 +1,13 @@ +#!/usr/bin/env bash +"$@" & +pid=$! +sleep 0.5 +window_title="$(hyprctl activewindow -j | jq ".title")" +sleep 0.5 +while true; do + if [ "$(hyprctl activewindow -j | jq ".title")" != "$window_title" ]; then + kill $pid + break + fi + sleep 1; +done diff --git a/eggs/utility/util-scripts/notification_history.sh b/eggs/utility/util-scripts/notification_history.sh new file mode 100755 index 0000000..5b1eb90 --- /dev/null +++ b/eggs/utility/util-scripts/notification_history.sh @@ -0,0 +1,33 @@ +#!/usr/bin/env bash + +# 1: Either show, remove, mute + +if [ "$1" = "mute" ]; then + dunstctl set-paused toggle + exit 0 +fi + +history=$(dunstctl history | jq ".data[0]" | jq "sort_by(.timestamp.data)") +num_notifications=$(($(echo "$history" | jq "length") -1)) + +for i in $(seq 0 $(($(echo "$history" | jq "length") -1))); do + id=$(echo $history | jq ".[$i].id.data") + if [ $id -eq 1000 ]; then + continue + fi + echo $1 + if [ "$1" = "show" ]; then + dunstctl history-pop $id + else + dunstctl history-rm $id + fi + done_notification=true + sleep 0.1 +done + +if [[ "$done_notification" != "true" ]]; then + msg=$(if [ "$1" = "show" ]; then echo "display"; else echo "clear"; fi) + dunstify -a System -r 1000 -t 2000 -i $HOME/.config/assets/no-notification.png "Dunsify" "No notifications to $msg." +elif [ "$1" = "remove" ]; then + dunstify -a System -r 1000 -t 2000 -i $HOME/.config/assets/no-notification.png "Dunsify" "Notifications cleared." +fi diff --git a/eggs/utility/util-scripts/pre-shutdown.sh b/eggs/utility/util-scripts/pre-shutdown.sh new file mode 100755 index 0000000..f87a301 --- /dev/null +++ b/eggs/utility/util-scripts/pre-shutdown.sh @@ -0,0 +1,2 @@ +#!/usr/bin/env bash +openrgb -p /home/someone/.config/OpenRGB/off.orp diff --git a/eggs/utility/util-scripts/run-at-start.sh b/eggs/utility/util-scripts/run-at-start.sh new file mode 100755 index 0000000..39f8863 --- /dev/null +++ b/eggs/utility/util-scripts/run-at-start.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash + + +new_yolk_v=$(curl -i -s https://github.com/elkowar/yolk/releases/latest | grep "location:" | awk -F '/' '/\//{print $NF}' | tr -d '\r\n') +old_yolk_v=$(echo "v$(yolk -V | awk '{print $NF}')") + +if [ "$new_yolk_v" != "$old_yolk_v" ]; then + dunstify -a "System" "A new version of yolk is available." "You should update the default.nix: ${new_yolk_v}"; +fi; diff --git a/eggs/utility/util-scripts/sleep.sh b/eggs/utility/util-scripts/sleep.sh new file mode 100755 index 0000000..879da4e --- /dev/null +++ b/eggs/utility/util-scripts/sleep.sh @@ -0,0 +1,20 @@ +#!/usr/bin/env bash +ctlcmd=$1 +format_time() { + local total_seconds=$1 + local hours=$((total_seconds / 3600)) + local minutes=$(( (total_seconds % 3600) / 60 )) + local seconds=$((total_seconds % 60)) + printf "%02d:%02d:%02d\n" $hours $minutes $seconds +} +start_time=$(date +%s) +if [ -z $ctlcmd ]; then + swaylock +else + systemctl $ctlcmd & swaylock +fi +current_time=$(date +%s) +elapsed_time=$((current_time - start_time)) +formatted_time=$(format_time $elapsed_time) +dunstify -a "System" "Power Managment" "You have left ${formatted_time} ago." +openrgb -p $HOME/.config/OpenRGB/Cat.orp diff --git a/eggs/waybar/bar/config.jsonc b/eggs/waybar/bar/config.jsonc index 714972c..39bab74 100755 --- a/eggs/waybar/bar/config.jsonc +++ b/eggs/waybar/bar/config.jsonc @@ -31,21 +31,21 @@ "format-icons": "󰌾 ", "exec-on-event": "true", "tooltip": false, - "on-click": "bash $HOME/Builds/microscripts/sleep.sh" + "on-click": "bash ~/.local/share/until-scripts/sleep.sh" }, "custom/suspend": { "format": "{icon}", "format-icons": "󰒲 ", "exec-on-event": "true", "tooltip": false, - "on-click": "bash $HOME/Builds/microscripts/sleep.sh suspend" + "on-click": "bash ~/.local/share/until-scripts/sleep.sh suspend" }, "custom/hibernate": { "format": "{icon}", "format-icons": "󰥠 ", "exec-on-event": "true", "tooltip": false, - "on-click": "bash $HOME/Builds/microscripts/sleep.sh hibernate" + "on-click": "bash ~/.local/share/until-scripts/sleep.sh hibernate" }, "custom/logout": { "format": "{icon}", @@ -162,10 +162,10 @@ } }, "custom/weather#n1": { - "exec": "$HOME/.config/waybar/bar/scripts/weather_waper.sh get icon rain,wind moon humidity,pressure", - "on-click": "$HOME/.config/waybar/bar/scripts/weather_waper.sh toggle", + "exec": "~/.config/waybar/bar/scripts/weather_waper.sh get icon rain,wind moon humidity,pressure", + "on-click": "~/.config/waybar/bar/scripts/weather_waper.sh toggle", // For somereason I need to call this program to makt it work wtf? - "on-click-right": "$HOME/.config/waybar/bar/scripts/launch_detailed_weather.sh", + "on-click-right": "~/.config/waybar/bar/scripts/launch_detailed_weather.sh", "signal": 11, "interval": 300, "max-length": 6, @@ -173,9 +173,9 @@ "format": "{}" }, "custom/weather#n2": { - "exec": "$HOME/.config/waybar/bar/scripts/weather_waper.sh get temp rain,wind uv humidity,pressure", - "on-click": "$HOME/.config/waybar/bar/scripts/weather_waper.sh toggle ", - "on-click-right": "$HOME/.config/waybar/bar/scripts/launch_detailed_weather.sh", + "exec": "~/.config/waybar/bar/scripts/weather_waper.sh get temp rain,wind uv humidity,pressure", + "on-click": "~/.config/waybar/bar/scripts/weather_waper.sh toggle ", + "on-click-right": "~/.config/waybar/bar/scripts/launch_detailed_weather.sh", "signal": 11, "interval": 301, "max-length": 6, @@ -255,10 +255,10 @@ "exec-on-event": false, "return-type": "json", "tooltip": false, - "exec": "bash $HOME/.config/waybar/bar/scripts/notification_status.sh | jq --unbuffered --compact-output", - "on-click": "bash $HOME/Builds/microscripts/notification_history.sh mute; pkill -SIGRTMIN+10 waybar", - "on-click-right": "bash $HOME/Builds/microscripts/notification_history.sh show", - "on-click-middle": "bash $HOME/Builds/microscripts/notification_history.sh remove" + "exec": "bash ~/.config/waybar/bar/scripts/notification_status.sh | jq --unbuffered --compact-output", + "on-click": "bash ~/.local/share/until-scripts/notification_history.sh mute; pkill -SIGRTMIN+10 waybar", + "on-click-right": "bash ~/.local/share/until-scripts/notification_history.sh show", + "on-click-middle": "bash ~/.local/share/until-scripts/notification_history.sh remove" }, "group/sysBehavior": { @@ -281,8 +281,8 @@ } }, "image#album-art": { - "exec":"bash $HOME/.config/waybar/bar/scripts/album_art.sh", - "on-click": "qimgv $(bash $HOME/.config/waybar/bar/scripts/album_art.sh) &", + "exec":"bash ~/.config/waybar/bar/scripts/album_art.sh", + "on-click": "qimgv $(bash ~/.config/waybar/bar/scripts/album_art.sh) &", "size": 71, "interval": 5 }, @@ -337,7 +337,7 @@ "car": "", "default": ["", "", ""] }, - "on-click": "hyprctl dispatch exec '[float] $HOME/Builds/microscripts/kill-on-unfocus pwvucontrol'", + "on-click": "hyprctl dispatch exec '[float] bash ~/.local/share/until-scripts/kill-on-unfocus.sh pwvucontrol'", "on-click-middle": "" }, "group/net": { @@ -377,7 +377,7 @@ "network#total": { "format": " \n{bandwidthTotalBits}", "justify": "center", - "on-click": "$HOME/Builds/microscripts/kill-on-unfocus kitty --class 'bar_popup' --title 'Connection Editor' sh -c 'nmtui-connect;exit'", + "on-click": "bash ~/.local/share/until-scripts/kill-on-unfocus.sh kitty --class 'bar_popup' --title 'Connection Editor' sh -c 'nmtui-connect;exit'", "tooltip": false }, diff --git a/eggs/waybar/bar/scripts/waybar_chashfile.sh b/eggs/waybar/bar/scripts/waybar_chashfile.sh index 438b19e..01bac7a 100755 --- a/eggs/waybar/bar/scripts/waybar_chashfile.sh +++ b/eggs/waybar/bar/scripts/waybar_chashfile.sh @@ -3,7 +3,7 @@ mode=$1 query=$2 jq_args=$3 -CASHEFILE=$HOME/.cache/waybbar_cashe +CASHEFILE=$HOME/.cache/waybar_cashe # Function to strip first and last characters if they are double quotes diff --git a/eggs/waybar/cpumonnitor.jsonc b/eggs/waybar/cpumonnitor.jsonc deleted file mode 100755 index 935258c..0000000 --- a/eggs/waybar/cpumonnitor.jsonc +++ /dev/null @@ -1,402 +0,0 @@ -/* - - "group/cpuUsages": { - "orientation": "vertical", - "modules": ["cpu#avrage", - "cpu#1", "cpu#2", "cpu#3", "cpu#4", "cpu#5", "cpu#6", "cpu#7", "cpu#8", - "cpu#9", "cpu#10", "cpu#11", "cpu#12", "cpu#13", "cpu#14", "cpu#15", "cpu#16", - "cpu#17", "cpu#18", "cpu#19", "cpu#20", "cpu#21", "cpu#22", "cpu#23", "cpu#0"], - "drawer": { - "transition-duration": 500, - "children-class": "audio", - "transition-left-to-right": false, - } - }, - - "cpu#1": { - "interval": 2, - "format": "{icon1}", - "tooltip": false, - "rotate": 90, - "format-icons": [ - "", - "", - "", - "", - "", - "", - "", - "" - ] - }, - "cpu#2": { - "interval": 2, - "format": "{icon2}", - "tooltip": false, - "rotate": 90, - "format-icons": [ - "", - "", - "", - "", - "", - "", - "", - "" - ] - }, - "cpu#3": { - "interval": 2, - "format": "{icon3}", - "tooltip": false, - "rotate": 90, - "format-icons": [ - "", - "", - "", - "", - "", - "", - "", - "" - ] - }, - "cpu#4": { - "interval": 2, - "format": "{icon4}", - "tooltip": false, - "rotate": 90, - "format-icons": [ - "", - "", - "", - "", - "", - "", - "", - "" - ] - }, - "cpu#5": { - "interval": 2, - "format": "{icon5}", - "tooltip": false, - "rotate": 90, - "format-icons": [ - "", - "", - "", - "", - "", - "", - "", - "" - ] - }, - "cpu#6": { - "interval": 2, - "format": "{icon6}", - "tooltip": false, - "rotate": 90, - "format-icons": [ - "", - "", - "", - "", - "", - "", - "", - "" - ] - }, - "cpu#7": { - "interval": 2, - "format": "{icon7}", - "tooltip": false, - "rotate": 90, - "format-icons": [ - "", - "", - "", - "", - "", - "", - "", - "" - ] - }, - "cpu#8": { - "interval": 2, - "format": "{icon8}", - "tooltip": false, - "rotate": 90, - "format-icons": [ - "", - "", - "", - "", - "", - "", - "", - "" - ] - }, - "cpu#9": { - "interval": 2, - "format": "{icon9}", - "tooltip": false, - "rotate": 90, - "format-icons": [ - "", - "", - "", - "", - "", - "", - "", - "" - ] - }, - "cpu#10": { - "interval": 2, - "format": "{icon10}", - "tooltip": false, - "rotate": 90, - "format-icons": [ - "", - "", - "", - "", - "", - "", - "", - "" - ] - }, - "cpu#11": { - "interval": 2, - "format": "{icon11}", - "tooltip": false, - "rotate": 90, - "format-icons": [ - "", - "", - "", - "", - "", - "", - "", - "" - ] - }, - "cpu#12": { - "interval": 2, - "format": "{icon12}", - "tooltip": false, - "rotate": 90, - "format-icons": [ - "", - "", - "", - "", - "", - "", - "", - "" - ] - }, - "cpu#13": { - "interval": 2, - "format": "{icon13}", - "tooltip": false, - "rotate": 90, - "format-icons": [ - "", - "", - "", - "", - "", - "", - "", - "" - ] - }, - "cpu#14": { - "interval": 2, - "format": "{icon14}", - "tooltip": false, - "rotate": 90, - "format-icons": [ - "", - "", - "", - "", - "", - "", - "", - "" - ] - }, - "cpu#15": { - "interval": 2, - "format": "{icon15}", - "tooltip": false, - "rotate": 90, - "format-icons": [ - "", - "", - "", - "", - "", - "", - "", - "" - ] - }, - "cpu#16": { - "interval": 2, - "format": "{icon16}", - "tooltip": false, - "rotate": 90, - "format-icons": [ - "", - "", - "", - "", - "", - "", - "", - "" - ] - }, - "cpu#17": { - "interval": 2, - "format": "{icon17}", - "tooltip": false, - "rotate": 90, - "format-icons": [ - "", - "", - "", - "", - "", - "", - "", - "" - ] - }, - "cpu#18": { - "interval": 2, - "format": "{icon18}", - "tooltip": false, - "rotate": 90, - "format-icons": [ - "", - "", - "", - "", - "", - "", - "", - "" - ] - }, - "cpu#19": { - "interval": 2, - "format": "{icon19}", - "tooltip": false, - "rotate": 90, - "format-icons": [ - "", - "", - "", - "", - "", - "", - "", - "" - ] - }, - "cpu#20": { - "interval": 2, - "format": "{icon20}", - "tooltip": false, - "rotate": 90, - "format-icons": [ - "", - "", - "", - "", - "", - "", - "", - "" - ] - }, - "cpu#21": { - "interval": 2, - "format": "{icon21}", - "tooltip": false, - "rotate": 90, - "format-icons": [ - "", - "", - "", - "", - "", - "", - "", - "" - ] - }, - "cpu#22": { - "interval": 2, - "format": "{icon22}", - "tooltip": false, - "rotate": 90, - "format-icons": [ - "", - "", - "", - "", - "", - "", - "", - "" - ] - }, - "cpu#23": { - "interval": 2, - "format": "{icon23}", - "tooltip": false, - "rotate": 90, - "format-icons": [ - "", - "", - "", - "", - "", - "", - "", - "" - ] - }, - "cpu#0": { - "interval": 2, - "format": "{icon0}", - "tooltip": false, - "rotate": 90, - "format-icons": [ - "", - "", - "", - "", - "", - "", - "", - "" - ] - }, - */ - -} \ No newline at end of file diff --git a/eggs/waybar/desktopclock/config b/eggs/waybar/desktopclock/config deleted file mode 100755 index 0b489f9..0000000 --- a/eggs/waybar/desktopclock/config +++ /dev/null @@ -1,19 +0,0 @@ -{ - "layer": "bottom", - "position": "bottom", - "exclusive": false, - "margin-left": 0, - "margin-right": 0, - "margin-top": 0, - "margin-bottom": 80, - - "modules-left": ["clock"], - "modules-center": [], - "modules-right": [], - - - "clock": { - "interval": 60, - "format": "{:%I:%M %p \n%a %b %d }", - }, -} diff --git a/eggs/waybar/desktopclock/mocha.css b/eggs/waybar/desktopclock/mocha.css deleted file mode 100755 index 98e218a..0000000 --- a/eggs/waybar/desktopclock/mocha.css +++ /dev/null @@ -1,37 +0,0 @@ -/* -* -* Catppuccin Mocha palette -* Maintainer: rubyowo -* -*/ - -@define-color base #1e1e2e; -@define-color mantle #181825; -@define-color crust #11111b; - -@define-color text #cdd6f4; -@define-color subtext0 #a6adc8; -@define-color subtext1 #bac2de; - -@define-color surface0 #313244; -@define-color surface1 #45475a; -@define-color surface2 #585b70; - -@define-color overlay0 #6c7086; -@define-color overlay1 #7f849c; -@define-color overlay2 #9399b2; - -@define-color blue #89b4fa; -@define-color lavender #b4befe; -@define-color sapphire #74c7ec; -@define-color sky #89dceb; -@define-color teal #94e2d5; -@define-color green #a6e3a1; -@define-color yellow #f9e2af; -@define-color peach #fab387; -@define-color maroon #eba0ac; -@define-color red #f38ba8; -@define-color mauve #cba6f7; -@define-color pink #f5c2e7; -@define-color flamingo #f2cdcd; -@define-color rosewater #f5e0dc; diff --git a/eggs/waybar/desktopclock/style.css b/eggs/waybar/desktopclock/style.css deleted file mode 100755 index 2f9c763..0000000 --- a/eggs/waybar/desktopclock/style.css +++ /dev/null @@ -1,26 +0,0 @@ -@import "mocha.css"; - -* { - min-height: 0; - font-family: "JetBrainsMono Nerd Font", Roboto, - Helvetica, Arial, sans-serif; - font-size: 12pt; - /* base-color: #04142d; */ -} - -window#waybar { - color: @text; - base: 00; - transition-property: base-color; - transition-duration: 0.5s; -} - -window#waybar.empty { -} - -#clock { - margin-left: 100px; - font-weight: 300; - font-size: 48pt; - color: @blue; -} diff --git a/eggs/waybar/launch-waybar.sh b/eggs/waybar/launch-waybar.sh deleted file mode 100755 index 54f31ec..0000000 --- a/eggs/waybar/launch-waybar.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/usr/bin/env bash - -CONFIG_FILES="$HOME/.config/waybar/noback/config $HOME/.config/waybar/noback/style.css $HOME/.config/waybar/desktopclock/config $HOME/.config/waybar/desktopclock/style.css" - diff --git a/yolk.rhai b/yolk.rhai index 8deafb2..9eb23cb 100644 --- a/yolk.rhai +++ b/yolk.rhai @@ -34,6 +34,13 @@ export let eggs = #{ "mine": "~/.config/mineapps.list" }, enabled: true}, + + utility: #{ + targets: #{ + "util-scripts": "~/.local/share/until-scripts/", + }, + enabled: true + }, theme: #{ targets: #{