diff --git a/home-manager/features/eww/config/eww.yuck b/home-manager/features/eww/config/eww.yuck index e187898..9641ad5 100644 --- a/home-manager/features/eww/config/eww.yuck +++ b/home-manager/features/eww/config/eww.yuck @@ -4,3 +4,4 @@ (include "./secondary-statusbar.yuck") (include "./system-monitor.yuck") (include "./launcher.yuck") +(include "./vertical-statusbar.yuck") diff --git a/home-manager/features/eww/config/system-monitor.yuck b/home-manager/features/eww/config/system-monitor.yuck index 43bc7bb..132f280 100644 --- a/home-manager/features/eww/config/system-monitor.yuck +++ b/home-manager/features/eww/config/system-monitor.yuck @@ -61,52 +61,60 @@ ) ) +(defwidget system-monitor-perf-cpu [] + (box + :orientation "v" + (system-monitor-sparkgraph + :name "CPU" + :class "system-monitor-sparkgraph-cpu" + :value {EWW_CPU.avg} + :units "%" + ) + (system-monitor-sparkgraph + :name "Mem" + :class "system-monitor-sparkgraph-mem" + :value {EWW_RAM.used_mem_perc} + :units "%" + ) + (system-monitor-sparkgraph + :name "Temp" + :class "system-monitor-sparkgraph-temp" + :value {EWW_TEMPS["CORETEMP_PACKAGE_ID_0"]} + :units "°" + ) + ) +) + +(defwidget system-monitor-perf-gpu [] + (box + :orientation "v" + (system-monitor-sparkgraph + :name "GPU" + :class "system-monitor-sparkgraph-cpu" + :value {gpu-stats.gpu} + :units "%" + ) + (system-monitor-sparkgraph + :name "VRAM" + :class "system-monitor-sparkgraph-mem" + :value {gpu-stats.memory} + :units "%" + ) + (system-monitor-sparkgraph + :name "Temp" + :class "system-monitor-sparkgraph-temp" + :value {gpu-stats.temp} + :units "°" + ) + ) +) + (defwidget system-monitor-perf [] (system-monitor-group :name "Performance" :orientation "h" - (box - :orientation "v" - (system-monitor-sparkgraph - :name "CPU" - :class "system-monitor-sparkgraph-cpu" - :value {EWW_CPU.avg} - :units "%" - ) - (system-monitor-sparkgraph - :name "Mem" - :class "system-monitor-sparkgraph-mem" - :value {EWW_RAM.used_mem_perc} - :units "%" - ) - (system-monitor-sparkgraph - :name "Temp" - :class "system-monitor-sparkgraph-temp" - :value {EWW_TEMPS["CORETEMP_PACKAGE_ID_0"]} - :units "°" - ) - ) - (box - :orientation "v" - (system-monitor-sparkgraph - :name "GPU" - :class "system-monitor-sparkgraph-cpu" - :value {gpu-stats.gpu} - :units "%" - ) - (system-monitor-sparkgraph - :name "VRAM" - :class "system-monitor-sparkgraph-mem" - :value {gpu-stats.memory} - :units "%" - ) - (system-monitor-sparkgraph - :name "Temp" - :class "system-monitor-sparkgraph-temp" - :value {gpu-stats.temp} - :units "°" - ) - ) + (system-monitor-perf-cpu) + (system-monitor-perf-gpu) ) ) @@ -239,7 +247,7 @@ :orientation "h" :class "system-monitor-audio-name" (label - :text name + :text {substring(name, 0, 20)} ) ) (box diff --git a/home-manager/features/eww/config/vertical-statusbar.yuck b/home-manager/features/eww/config/vertical-statusbar.yuck new file mode 100644 index 0000000..5f19532 --- /dev/null +++ b/home-manager/features/eww/config/vertical-statusbar.yuck @@ -0,0 +1,44 @@ +(defwidget vertical-statusbar-systray [] + (systray + :class "systray" + :spacing 3 + :orientation "h" + :space-evenly true + :icon-size 16 + ) +) + +(defwidget vertical-statusbar [] + (box + :class "statusbar" + :orientation "v" + :spacing 8 + :space-evenly false + (clock-large) + (vertical-statusbar-systray) + (system-monitor-group + :name "Performance" + :orientation "v" + (system-monitor-perf-cpu) + (system-monitor-perf-gpu) + ) + (system-monitor-disks) + (system-monitor-net) + (system-monitor-audio) + ) +) + +(defwindow vertical-statusbar + :monitor '[ "", "LG ULTRAWIDE", "HDMI-A-1" ]' + :geometry (geometry + :x "0px" + :y "0px" + :width "60px" + :height "1440px" + :anchor "top left" + ) + :stacking "fg" + :exclusive true + :focusable false + (vertical-statusbar) +) diff --git a/home-manager/features/rofi/config/launcher/fonts.rasi b/home-manager/features/rofi/config/launcher/fonts.rasi index 50499c9..e170edf 100644 --- a/home-manager/features/rofi/config/launcher/fonts.rasi +++ b/home-manager/features/rofi/config/launcher/fonts.rasi @@ -8,5 +8,5 @@ **/ * { - font: "Iosevka Nerd Font 10"; + font: "JetBrainsMono NF 10"; } diff --git a/home-manager/features/rofi/config/powermenu/fonts.rasi b/home-manager/features/rofi/config/powermenu/fonts.rasi index 430c73d..61d0e2d 100644 --- a/home-manager/features/rofi/config/powermenu/fonts.rasi +++ b/home-manager/features/rofi/config/powermenu/fonts.rasi @@ -8,5 +8,5 @@ **/ * { - font: "JetBrains Mono Nerd Font 10"; + font: "JetBrainsMono Nerd Font 10"; } diff --git a/system/hosts/drew-desktop/drew.nix b/system/hosts/drew-desktop/drew.nix index 738ebc0..212baa4 100644 --- a/system/hosts/drew-desktop/drew.nix +++ b/system/hosts/drew-desktop/drew.nix @@ -26,4 +26,10 @@ obsidian firefox ]; + + # Set up eww here because it's based on the monitor configuration + # Eww is idempotent, so it's fine to just run it on every reload to make sure things are open + wayland.windowManager.hyprland.settings.execr-once = [ + "eww open-many primary-statusbar secondary-statusbar launcher" + ]; } diff --git a/system/hosts/vega/drew.nix b/system/hosts/vega/drew.nix index ee86fb1..ee623f7 100644 --- a/system/hosts/vega/drew.nix +++ b/system/hosts/vega/drew.nix @@ -5,6 +5,7 @@ "/features/development/haskell.nix" "/features/linux-desktop.nix" "/features/notes.nix" + "/features/eww" ]; home.stateVersion = "24.11"; @@ -24,4 +25,10 @@ obsidian firefox ]; + + # Set up eww here because it's based on the monitor configuration + # Eww is idempotent, so it's fine to just run it on every reload to make sure things are open + wayland.windowManager.hyprland.settings.execr-once = [ + "eww daemon && eww open-many vertical-statusbar" + ]; }