diff --git a/modules/wm/hyprland/config/eww/eww.scss b/modules/wm/hyprland/config/eww/eww.scss
index fd3f5f5..954c2d1 100644
--- a/modules/wm/hyprland/config/eww/eww.scss
+++ b/modules/wm/hyprland/config/eww/eww.scss
@@ -3,11 +3,6 @@
font-family: "JetBrains Mono";
}
// WINDOW RELATED CSS
-.bg {
- background-color: #1E222A;
- border: 2px solid #80A0C0;
-}
-
window {
background: #2e3440;
color: #ebcb8b;
@@ -20,7 +15,7 @@ window {
font-size: 1.25rem;
}
.cpu {
- padding: 19px;
+ padding: 19px 1px;
}
// METRIC LOOKS
@@ -46,12 +41,8 @@ window {
}
// POWERMENU
-.bigpowermenu {
- font-size: 3rem;
-}
-
-.quicksettings {
- font-size: 1.75rem;
+.power {
+ padding: 0px 9px;
}
// WIDGET MISC SETTINGS
diff --git a/modules/wm/hyprland/config/eww/eww_variables.yuck b/modules/wm/hyprland/config/eww/eww_variables.yuck
index e0fadeb..bfb8fc0 100644
--- a/modules/wm/hyprland/config/eww/eww_variables.yuck
+++ b/modules/wm/hyprland/config/eww/eww_variables.yuck
@@ -14,14 +14,30 @@
(defpoll time
:interval "1s"
:initial-value ""
- "date +'%H:%M:%S'"
+
+ `date +'%H:%M:%S'`
+)
+
+(defpoll workspace
+ :interval "1s"
+ :initial-value ""
+
+ `hyprctl activeworkspace -j | jq '.name' | sed -e 's/"//g'`
+)
+
+(defpoll clients
+ :interval "1s"
+ :initial-value ""
+
+ `hyprctl clients -j | jq '.[].address' | wc -l`
)
(defpoll TODAY :interval "1s" `date +'%d %b %y'`)
(defpoll distro :interval "12h" `nixos-version | sed -r 's/^(.....).*?\\((.*?)\\)/NixOS \\1/'`)
-(defpoll music_current :interval "1s" "mpc current")
-(defpoll ssid :interval "1s" "iwgetid -r || echo 'Disconnected'")
+(defpoll sound
+ :interval "1s"
+ :initial-value "images/sound-lo.svg"
-;;;; App list LISTEN VAR
-(defpoll search_listen :interval "5m" "scripts/search_items.txt")
+ `./scripts/volume.sh`
+)
diff --git a/modules/wm/hyprland/config/eww/eww_widgets.yuck b/modules/wm/hyprland/config/eww/eww_widgets.yuck
index 5056378..fb10b50 100644
--- a/modules/wm/hyprland/config/eww/eww_widgets.yuck
+++ b/modules/wm/hyprland/config/eww/eww_widgets.yuck
@@ -11,8 +11,22 @@
;;;; Background Black Holder Widget
-(defwidget bg []
- (box :class "bg-box" :orientation "v" :space-evenly false))
+(defwidget power []
+ (centerbox :class "bg-box"
+ (box :orientation "h" :space-evenly false :valign "center" :halign "start" :spacing 5
+ (button :onclick "kitty -T 'confirm-script' ~/.config/eww/scripts/confirm.sh 'shutdown now' &" (image :path "images/shutdown.svg"))
+ (button :onclick "kitty -T 'confirm-script' ~/.config/eww/scripts/confirm.sh 'reboot' &" (image :path "images/reboot.svg"))
+ (button :onclick "hyprlock" (image :path "images/lock.svg"))
+ )
+
+ ""
+
+ (box :orientation "h" :space-evenly false :valign "center" :halign "end" :spacing 5
+ (button :onclick "kitty pulsemixer &" (image :path {sound} ))
+ (button :onclick "" (image :path "images/ethernet.svg"))
+ )
+ )
+)
;;;; User information fetch widget
@@ -23,18 +37,19 @@
;; Tags for values
(box :orientation "h" :space-evenly "false" :spacing 10
- (box :orientation "v" :class "fetch" :spacing 2
- (label :style "font-family: 'archcraft'; color: #b48ead;" :halign "end" :text "")
- (label :style "color: #ebcb8b;" :halign "end" :text "缾")
- (label :style "color: #80a0c0;" :halign "end" :text "")
- (label :style "color: #b48ead;" :halign "end" :text ""))
+ (box :orientation "v" :class "fetch" :spacing 2
+ (image :path "images/workspace.svg")
+ (image :path "images/window.svg")
+ (image :path "images/date.svg")
+ (image :path "images/time.svg")
+ )
;; Fetch Values
- (box :orientation "v" :class "fetch"
- (label :style "color: #b48ead;" :halign "start" :text ": ${distro}")
- (label :style "color: #ebcb8b;" :halign "start" :text ": Hyprland")
- (label :style "color: #80a0c0;" :halign "start" :text ": ${TODAY}")
- (label :style "color: #b48ead;" :halign "start" :text ": ${time}")
+ (box :orientation "v" :class "fetch"
+ (label :style "color: #b48ead;" :halign "start" :text " Workspace ${workspace}")
+ (label :style "color: #ebcb8b;" :halign "start" :text " ${clients} Windows")
+ (label :style "color: #80a0c0;" :halign "start" :text " ${TODAY}")
+ (label :style "color: #b48ead;" :halign "start" :text " ${time}")
))))
;;;; System Information Widget
@@ -51,7 +66,7 @@
;;;; Random Quote Widget
-(defwidget quote[]
+(defwidget quote []
(box :class "quote" :orientation "v" :space-evenly false :halign "center" :valign "center"
(label :class "quote-text" :text "${quote_text}" :wrap true)))
@@ -71,49 +86,3 @@
)
)
-;;;; Rofi style search
-(defwidget searchapps []
- (eventbox :onhoverlost "eww close searchapps"
- (box :orientation "v" :space-evenly false :class "search-win" :halign "top" :valign "top"
- (box :orientation "h" :space-evenly false :class "searchapps-bar" :halign "top" :valign "top"
- (label :class "search-label" :text "")
- (input :class "search-bar" :onchange "~/.config/eww/scripts/search.sh {}"))
- (literal :halign "center" :valign "center" :class "app-container" :content search_listen))))
-
-;;;; Rofi style powermenu
-(defwidget bigpowermenu []
- (box :orientation "h" :space-evenly false :class "bigpowermenu" :halign "center" :valign "center" :spacing 20
- (button :style "color: #d8dee9;" :class "shutdown" :onrightclick "systemctl poweroff" "")
- (button :style "color: #e5e9f0;" :class "reboot" :onrightclick "systemctl reboot" "")
- (button :style "color: #eceff4;" :class "lock" :onrightclick "bsplock" "")
- (button :style "color: #e8e8e8;" :class "suspend" :onrightclick "mpc -q pause & amixer set Master mute & systemctl suspend" "")
- (button :style "color: #ffffff;" :class "logout" :onrightclick "bspc quit" "")))
-
-;;;; Music Player
-(defwidget musicplayer []
-
- (box :orientation "v" :space-evenly false :class "musicplayer" :halign "center" :valign "center" :hexpand true :vexpand true
- (label :class "label-control" :text "${music_current}" :halign "center" :limit-width 50 :show-truncated true :hexpand true :vexpand true)
- (box :orientation "h" :space-evenly false :class "controls" :halign "center" :valign "center" :spacing 20
- (button :style "color: #d8dee9;" :onclick "mpc -q toggle && notify-send -u low -t 1800 ${music_current}" "懶")
- (button :style "color: #e5e9f0;" :onclick "mpc -q stop" "")
- (button :style "color: #eceff4;" :onclick "mpc -q next && notify-send -u low -t 1800 ${music_current}" "")
- (button :style "color: #e8e8e8;" :onclick "mpc -q prev && notify0send -u low -t 1800 ${music_current}" ""))))
-
-(defwidget network []
-
- (box :orientation "v" :space-evenly false :class "network" :halign "center" :valign "center" :hexpand true :vexpand true
- (label :class "label-control" :text "${ssid}" :halign "center" :limit-width 50 :show-truncated true :hexpand true :vexpand true)
- (box :orientation "h" :space-evenly false :class "controls" :halign "center" :valign "center" :spacing 20
- (button :style "color: #d8dee9;" :onclick "sh ~/.config/eww/scripts/airplane_mode.sh" "")
- (button :style "color: #e5e9f0;" :onclick "alacritty --class 'alacritty-float,alacritty-float' -e bmon &" "")
- (button :style "color: #eceff4;" :onclick "alacritty --class 'alacritty-float,alacritty-float' -e nmtui &" "")
- (button :style "color: #e8e8e8;" :onclick "nm-connection-editor &" ""))))
-
-(defwidget screenshot []
-
- (box :orientation "v" :space-evenly false :class "network" :halign "center" :valign "center" :hexpand true :vexpand true
- (label :class "label-control" :text " Screenshot" :halign "center" :limit-width 50 :show-truncated true :hexpand true :vexpand true)
- (box :orientation "h" :space-evenly false :class "controls" :halign "center" :valign "center" :spacing 20
- (button :style "color: #d8dee9;" :onclick "eww close screenshot && ~/.config/eww/scripts/screenshot 'SCREEN'" "")
- (button :style "color: #e5e9f0;" :onclick "eww close screenshot && ~/.config/eww/scripts/screenshot 'SELECT'" ""))))
diff --git a/modules/wm/hyprland/config/eww/eww_windows.yuck b/modules/wm/hyprland/config/eww/eww_windows.yuck
index 2707c78..eaefafc 100644
--- a/modules/wm/hyprland/config/eww/eww_windows.yuck
+++ b/modules/wm/hyprland/config/eww/eww_windows.yuck
@@ -1,140 +1,72 @@
; -> WINDOWS FOR EWW WIDGETS <- ;
-;;;; IMPORTS
(include "/home/horseman/.config/eww/eww_widgets.yuck")
-;;;; Fetch widget window
-
(defwindow fetch
:wm-ignore: true
:monitor 0
:windowtype "dock"
- :geometry (geometry :x "20px"
- :y "65px"
+ :geometry (geometry :x "10px"
+ :y "70px"
:width "170px"
:height "200px"
:anchor "top left")
(uinfo))
-;;;; System information window
-
(defwindow sys
:class "cpu-win"
:wm-ignore true
:monitor 0
:windowtype "dock"
- :geometry (geometry :x "200px"
- :y "275px"
+ :geometry (geometry :x "190px"
+ :y "280px"
:width "170px"
- :height "48px"
+ :height "140px"
:anchor "top left")
(sys))
-;;;; Random Quotes
-
(defwindow quote
:wm-ignore true
:monitor 0
:windowtype "dock"
- :geometry (geometry :x "200px"
- :y "65px"
+ :geometry (geometry :x "190px"
+ :y "70px"
:width "170px"
:height "200px"
:anchor "top left")
(quote))
-;;;; Quicksettings window
-
(defwindow quicksettings
:wm-ignore true
:monitor 0
:windowtype "dock"
- :geometry (geometry :x "20px"
- :y "275px"
+ :geometry (geometry :x "10px"
+ :y "280px"
:width "170px"
- :height "50px"
+ :height "65px"
:anchor "top left")
(quicksettings))
-;;;; Favorite applications
-
(defwindow appbar
:wm-ignore true
:monitor 0
:windowtype "dock"
- :geometry (geometry :x "20"
- :y "335px"
+ :geometry (geometry :x "10px"
+ :y "355px"
:width "170px"
- :height "74px"
+ :height "65px"
:anchor "top left")
(appbar))
-;;;; Background Container Window
-(defwindow bg
+(defwindow power
:class "bg"
:wm-ignore true
:monitor 0
:windowtype "dock"
- :geometry (geometry :x "5px"
- :y "40px"
- :width "380px"
- :height "800px"
+ :geometry (geometry :x "10px"
+ :y "10px"
+ :width "350px"
+ :height "50px"
:anchor "top left")
-(bg))
+(power))
-;;;; Searching Windows
-
-(defwindow searchapps
- :wm-ignore: true
- :monitor 0
- :windowtype "normal"
- :geometry (geometry :x "40%"
- :y "30%"
- :width "20%"
- :height "50%"
- :anchor "top left")
-(searchapps))
-
-(defwindow bigpowermenu
- :wm-ignore true
- :monitor 0
- :windowtype "dock"
- :geometry (geometry :x "0px"
- :y "0%"
- :width "20%"
- :height "10%"
- :anchor "center center")
-(bigpowermenu))
-
-(defwindow musicplayer
- :wm-ignore true
- :monitor 0
- :windowtype "dock"
- :geometry (geometry :x "0px"
- :y "0%"
- :width "20%"
- :height "10%"
- :anchor "center center")
-(musicplayer))
-
-(defwindow network
- :wm-ignore true
- :monitor 0
- :windowtype "dock"
- :geometry (geometry :x "0px"
- :y "0%"
- :width "20%"
- :height "10%"
- :anchor "center center")
-(network))
-
-(defwindow screenshot
- :wm-ignore true
- :monitor 0
- :windowtype "dock"
- :geometry (geometry :x "0px"
- :y "0%"
- :width "20%"
- :height "10%"
- :anchor "center center")
-(screenshot))
diff --git a/modules/wm/hyprland/config/eww/images/date.svg b/modules/wm/hyprland/config/eww/images/date.svg
new file mode 100644
index 0000000..1863327
--- /dev/null
+++ b/modules/wm/hyprland/config/eww/images/date.svg
@@ -0,0 +1,7 @@
+
+
+
\ No newline at end of file
diff --git a/modules/wm/hyprland/config/eww/images/ethernet.svg b/modules/wm/hyprland/config/eww/images/ethernet.svg
new file mode 100644
index 0000000..9210426
--- /dev/null
+++ b/modules/wm/hyprland/config/eww/images/ethernet.svg
@@ -0,0 +1,7 @@
+
+
+
\ No newline at end of file
diff --git a/modules/wm/hyprland/config/eww/images/gpu.svg b/modules/wm/hyprland/config/eww/images/gpu.svg
index 0889b0e..da72db6 100644
--- a/modules/wm/hyprland/config/eww/images/gpu.svg
+++ b/modules/wm/hyprland/config/eww/images/gpu.svg
@@ -3,5 +3,5 @@
\ No newline at end of file
diff --git a/modules/wm/hyprland/config/eww/images/lock.svg b/modules/wm/hyprland/config/eww/images/lock.svg
new file mode 100644
index 0000000..0519545
--- /dev/null
+++ b/modules/wm/hyprland/config/eww/images/lock.svg
@@ -0,0 +1,7 @@
+
+
+
\ No newline at end of file
diff --git a/modules/wm/hyprland/config/eww/images/reboot.svg b/modules/wm/hyprland/config/eww/images/reboot.svg
new file mode 100644
index 0000000..669977c
--- /dev/null
+++ b/modules/wm/hyprland/config/eww/images/reboot.svg
@@ -0,0 +1,7 @@
+
+
+
\ No newline at end of file
diff --git a/modules/wm/hyprland/config/eww/images/shutdown.svg b/modules/wm/hyprland/config/eww/images/shutdown.svg
new file mode 100644
index 0000000..f49d95c
--- /dev/null
+++ b/modules/wm/hyprland/config/eww/images/shutdown.svg
@@ -0,0 +1,7 @@
+
+
+
\ No newline at end of file
diff --git a/modules/wm/hyprland/config/eww/images/sound-hi.svg b/modules/wm/hyprland/config/eww/images/sound-hi.svg
new file mode 100644
index 0000000..2ac61ac
--- /dev/null
+++ b/modules/wm/hyprland/config/eww/images/sound-hi.svg
@@ -0,0 +1,7 @@
+
+
+
\ No newline at end of file
diff --git a/modules/wm/hyprland/config/eww/images/sound-lo.svg b/modules/wm/hyprland/config/eww/images/sound-lo.svg
new file mode 100644
index 0000000..1b6950f
--- /dev/null
+++ b/modules/wm/hyprland/config/eww/images/sound-lo.svg
@@ -0,0 +1,7 @@
+
+
+
\ No newline at end of file
diff --git a/modules/wm/hyprland/config/eww/images/sound-off.svg b/modules/wm/hyprland/config/eww/images/sound-off.svg
new file mode 100644
index 0000000..7f611c1
--- /dev/null
+++ b/modules/wm/hyprland/config/eww/images/sound-off.svg
@@ -0,0 +1,7 @@
+
+
+
\ No newline at end of file
diff --git a/modules/wm/hyprland/config/eww/images/time.svg b/modules/wm/hyprland/config/eww/images/time.svg
new file mode 100644
index 0000000..092283e
--- /dev/null
+++ b/modules/wm/hyprland/config/eww/images/time.svg
@@ -0,0 +1,7 @@
+
+
+
diff --git a/modules/wm/hyprland/config/eww/images/wifi-1.svg b/modules/wm/hyprland/config/eww/images/wifi-1.svg
new file mode 100644
index 0000000..0971d4c
--- /dev/null
+++ b/modules/wm/hyprland/config/eww/images/wifi-1.svg
@@ -0,0 +1,7 @@
+
+
+
\ No newline at end of file
diff --git a/modules/wm/hyprland/config/eww/images/wifi-2.svg b/modules/wm/hyprland/config/eww/images/wifi-2.svg
new file mode 100644
index 0000000..613bdca
--- /dev/null
+++ b/modules/wm/hyprland/config/eww/images/wifi-2.svg
@@ -0,0 +1,7 @@
+
+
+
\ No newline at end of file
diff --git a/modules/wm/hyprland/config/eww/images/wifi-3.svg b/modules/wm/hyprland/config/eww/images/wifi-3.svg
new file mode 100644
index 0000000..58a03a2
--- /dev/null
+++ b/modules/wm/hyprland/config/eww/images/wifi-3.svg
@@ -0,0 +1,7 @@
+
+
+
\ No newline at end of file
diff --git a/modules/wm/hyprland/config/eww/images/wifi-4.svg b/modules/wm/hyprland/config/eww/images/wifi-4.svg
new file mode 100644
index 0000000..6bd1354
--- /dev/null
+++ b/modules/wm/hyprland/config/eww/images/wifi-4.svg
@@ -0,0 +1,7 @@
+
+
+
\ No newline at end of file
diff --git a/modules/wm/hyprland/config/eww/images/wifi-off.svg b/modules/wm/hyprland/config/eww/images/wifi-off.svg
new file mode 100644
index 0000000..0b6b816
--- /dev/null
+++ b/modules/wm/hyprland/config/eww/images/wifi-off.svg
@@ -0,0 +1,7 @@
+
+
+
\ No newline at end of file
diff --git a/modules/wm/hyprland/config/eww/images/window.svg b/modules/wm/hyprland/config/eww/images/window.svg
new file mode 100644
index 0000000..82c7f75
--- /dev/null
+++ b/modules/wm/hyprland/config/eww/images/window.svg
@@ -0,0 +1,7 @@
+
+
+
diff --git a/modules/wm/hyprland/config/eww/images/workspace.svg b/modules/wm/hyprland/config/eww/images/workspace.svg
new file mode 100644
index 0000000..0b7f489
--- /dev/null
+++ b/modules/wm/hyprland/config/eww/images/workspace.svg
@@ -0,0 +1,7 @@
+
+
+
\ No newline at end of file
diff --git a/modules/wm/hyprland/config/eww/scripts/airplane_mode.sh b/modules/wm/hyprland/config/eww/scripts/airplane_mode.sh
deleted file mode 100644
index 9d8f064..0000000
--- a/modules/wm/hyprland/config/eww/scripts/airplane_mode.sh
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/bin/sh
-status=$(nmcli n)
-if [[ "$status" == "enabled" ]]; then
- nmcli n off
-else
- nmcli n on
-fi
diff --git a/modules/wm/hyprland/config/eww/scripts/confirm.sh b/modules/wm/hyprland/config/eww/scripts/confirm.sh
new file mode 100755
index 0000000..5c9b8f0
--- /dev/null
+++ b/modules/wm/hyprland/config/eww/scripts/confirm.sh
@@ -0,0 +1,7 @@
+#!/bin/sh
+
+read -t 10 -p "Are you sure? Doing it anyway in 10 seconds" input
+
+if [ $(($?)) = 0 ]; then
+ $1
+fi
diff --git a/modules/wm/hyprland/config/eww/scripts/open.sh b/modules/wm/hyprland/config/eww/scripts/open.sh
index ee3ea0a..c50aa90 100755
--- a/modules/wm/hyprland/config/eww/scripts/open.sh
+++ b/modules/wm/hyprland/config/eww/scripts/open.sh
@@ -2,4 +2,4 @@
eww update hostname="$(hostname)"
-eww open-many --toggle quote quicksettings appbar fetch sys
+eww open-many --toggle quote quicksettings appbar fetch sys power
diff --git a/modules/wm/hyprland/config/eww/scripts/quote.sh b/modules/wm/hyprland/config/eww/scripts/quote.sh
deleted file mode 100755
index a09a123..0000000
--- a/modules/wm/hyprland/config/eww/scripts/quote.sh
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/bin/sh
-
-echo "\"The futility of lighting birthday candles to immediately blow them out is one reason why I find children's birthday parties unpractical.\""
diff --git a/modules/wm/hyprland/config/eww/scripts/screenshot b/modules/wm/hyprland/config/eww/scripts/screenshot
deleted file mode 100644
index 42ba104..0000000
--- a/modules/wm/hyprland/config/eww/scripts/screenshot
+++ /dev/null
@@ -1,41 +0,0 @@
-#!/usr/bin/env bash
-
-time=`date +%Y-%m-%d-%I-%M-%S`
-geometry=`xrandr | head -n1 | cut -d',' -f2 | tr -d '[:blank:],current'`
-dir="`xdg-user-dir PICTURES`/Screenshots"
-file="Screenshot_${time}_${geometry}.png"
-
-# notify
-notify_user () {
- if [[ -e "$dir/$file" ]]; then
- dunstify -u low --replace=699 -i /usr/share/archcraft/icons/dunst/picture.png "Saved in $dir"
- else
- dunstify -u low --replace=699 -i /usr/share/archcraft/icons/dunst/picture.png "Screenshot Deleted."
- fi
-}
-
-# take shots
-shotnow () {
- cd ${dir} && sleep 0.5 && maim -u -f png "$file" && viewnior ${dir}/"$file"
- notify_user
-}
-
-shotarea () {
- cd ${dir} && maim -u -f png -s -b 2 -c 0.35,0.55,0.85,0.25 -l "$file" && viewnior ${dir}/"$file"
- notify_user
-}
-
-if [[ ! -d "$dir" ]]; then
- mkdir -p "$dir"
-fi
-
-chosen="$1"
-case $chosen in
- "SCREEN")
- shotnow
- ;;
- "SELECT")
- shotarea
- ;;
-esac
-
diff --git a/modules/wm/hyprland/config/eww/scripts/search.sh b/modules/wm/hyprland/config/eww/scripts/search.sh
deleted file mode 100644
index 8837eed..0000000
--- a/modules/wm/hyprland/config/eww/scripts/search.sh
+++ /dev/null
@@ -1,8 +0,0 @@
-#!/bin/sh
-list=$(ls /usr/bin/ | grep -m 10 -i "$1")
-buf=""
-for l in $list ; do
- buf="$buf (button :class \"item\" :onclick \"$l &\" \"$l\")"
-done
-echo "(box :orientation \"v\" :spacing 5 :class \"apps\" :halign \"center\" :valign \"center\" $buf)" > ~/.config/eww/scripts/search_items.txt
-
diff --git a/modules/wm/hyprland/config/eww/scripts/uptime.sh b/modules/wm/hyprland/config/eww/scripts/uptime.sh
deleted file mode 100755
index cbd2bd2..0000000
--- a/modules/wm/hyprland/config/eww/scripts/uptime.sh
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-uptime=$(($(date +%s) - $(date +%s -d "$(last reboot | head -n 1 | sed -e 's/reboot system boot ...... //; s/still running//')")));
-
-echo $((uptime / 3600 % 60))h $((uptime / 60 % 60))m
diff --git a/modules/wm/hyprland/config/eww/scripts/volume.sh b/modules/wm/hyprland/config/eww/scripts/volume.sh
new file mode 100755
index 0000000..3f018e1
--- /dev/null
+++ b/modules/wm/hyprland/config/eww/scripts/volume.sh
@@ -0,0 +1,15 @@
+#!/bin/sh
+
+volume=$(($(wpctl get-volume @DEFAULT_SINK@ | sed -r 's/Volume: (0|1)\.(..)/\1\2/; s/^(0)//g')))
+
+if (( $volume == 0 )); then
+ echo 'images/sound-off.svg'
+ exit 0
+fi
+
+if (( $volume < 20 )); then
+ echo 'images/sound-lo.svg'
+ exit 0
+fi
+
+echo 'images/sound-hi.svg'
diff --git a/modules/wm/hyprland/default.nix b/modules/wm/hyprland/default.nix
index 221aaff..ce50780 100644
--- a/modules/wm/hyprland/default.nix
+++ b/modules/wm/hyprland/default.nix
@@ -36,6 +36,7 @@ in {
fortune
python312Packages.gpustat
hyprshot
+ pulsemixer
];
services.logind.extraConfig = ''