{upkgs, ...}: { programs.waybar = { enable = true; settings = { mainBar = { layer = "top"; position = "top"; height = 20; modules-left = ["hyprland/workspaces" "wlr/taskbar" "custom/media"]; modules-center = ["clock"]; modules-right = ["cpu" "memory" "network" "pulseaudio" "privacy" "tray"]; # left "hyprland/workspaces" = { format = "{id}"; }; "wlr/taskbar" = { format = "{icon}"; icon-size = 12; }; "custom/media" = { exec = "auroramedia"; return-type = "json"; escape = true; restart-interval = 1; }; # center "clock" = { format = "{:%Y %b %a %d %H:%M:%S}"; interval = 1; tooltip = false; }; # right "cpu" = { format = " {usage}%"; interval = 1; }; "memory" = { format = " {used:0.1f} / {total:0.1f} GiB"; interval = 1; }; "network" = { format = "{bandwidthUpBytes}  {bandwidthDownBytes}  {ifname}"; format-wifi = " {bandwidthUpBytes}  {bandwidthDownBytes} "; format-ethernet = "󰈀 {bandwidthUpBytes}  {bandwidthDownBytes} "; format-disconnected = "no internet ~ rawr! ~ x3"; # empty format hides module interval = 1; max-length = 32; }; "pulseaudio" = { format = "{icon} {volume}%"; format-muted = " {volume}%"; format-icons = { default = [ "" "" "" ]; }; "scroll-step" = 5; }; "privacy" = { icon-size = 12; icon-spacing = 5; transition-duration = 200; modules = [ { type = "screenshare"; tooltip = true; tooltip-icon-size = 12; } { type = "audio-in"; tooltip = true; tooltip-icon-size = 12; } ]; }; "tray" = { icon-size = 12; spacing = 10; # fixes spotify not showing up when "close button should minimize the Spotify window" is false show-passive-items = true; }; # i only enable this for debugging of window rules lol "hyprland/window" = { format = "{class} | {title}"; }; }; }; style = upkgs.writeTextFile { name = "waybar-style.css"; text = builtins.readFile ./style.css; }; }; }