{pkgs, ...}: { home.packages = with pkgs; [ pavucontrol playerctl ]; programs.waybar = { enable = true; systemd.enable = true; settings = { default = { layer = "top"; position = "top"; module-left = ["clock" "hyprland/workspaces" "wlr/taskbar"]; modules-center = ["custom/playerctl"]; modules-right = ["hyprland/language" "tray" "pulseaudio" "temperature" "battery"]; clock = { format = "{:%Y-%m-%d}"; }; "hyprland/workspaces" = { active-only = false; all-outputs = true; disable-scroll = false; on-scroll-up = "hyprctl dispatch workspace -1"; on-scroll-down = "hyprctl dispatch workspace +1"; format = "{number}"; on-click = "activate"; sort-by = "number"; }; "custom/playerctl" = { format = "{text}"; return-type = "json"; max-length = 64; on-click-middle = "playerctl play-pause"; on-click = "playerctl previous"; on-click-right = "playerctl next"; format-icons = { Playing = "󰒮 󰐌 󰒭"; Paused = "󰒮 󰏥 󰒭"; }; interval = 5; exec = '' playerctl -a metadata --format '{"text": "{{artist}} - {{markup_escape(title)}}", "tooltip": "{{playerName}} : {{markup_escape(title)}}", "alt": "{{status}}", "class": "{{status}}"}' ''; }; pulseaudio = { format = "{icon:2} {volume:4}% - {desc}"; format-bluetooth = " {icon:2} {volume:4}% - {desc}"; format-alt = "{icon:2} {volume:4}%"; format-alt-click = "click-right"; format-muted = ""; format-icons = { headphone = [" " " " " " " "]; default = ["" "" "" ""]; }; scroll-step = 2; on-click = "pavucontrol"; tooltip = false; }; battery = { states = { good = 90; warning = 30; critical = 15; }; format = "{icon} {capacity}%"; format-charging = " {icon}{capacity}%"; format-plugged = " {capacity}%"; format-alt = "{icon} {time}"; format-icons = ["󰂎" "󰁺" "󰁻" "󰁼" "󰁽" "󰁾" "󰁿" "󰂀" "󰂁" "󰂂" "󰁹"]; }; tray = { "icon-size" = 18; "spacing" = 18; }; }; }; }; }