{ config, lib, pkgs, ... }: { programs.waybar = { enable = true; package = pkgs.waybar; settings = { mainBar = { layer = "top"; position = "top"; height = 30; spacing = 4; modules-left = [ "hyprland/workspaces" "hyprland/window" ]; modules-center = [ "clock" ]; modules-right = [ "pulseaudio" "network" "tray" ]; "hyprland/workspaces" = { format = "{icon}"; on-click = "activate"; sort-by-number = true; }; "clock" = { format = "{:%H:%M}"; format-alt = "{:%Y-%m-%d}"; tooltip-format = "{:%Y %B}\n{calendar}"; }; "network" = { format-wifi = "{essid} ({signalStrength}%) "; format-ethernet = "{ipaddr}/{cidr} "; tooltip-format = "{ifname} via {gwaddr} "; format-linked = "{ifname} (No IP) "; format-disconnected = "Disconnected ⚠"; format-alt = "{ifname}: {ipaddr}/{cidr}"; }; "pulseaudio" = { format = "{volume}% {icon} {format_source}"; format-bluetooth = "{volume}% {icon} {format_source}"; format-bluetooth-muted = " {icon} {format_source}"; format-muted = " {format_source}"; format-source = "{volume}% "; format-source-muted = ""; format-icons = { headphone = ""; hands-free = ""; headset = ""; phone = ""; portable = ""; car = ""; default = [ "" "" "" ]; }; on-click = "pavucontrol"; }; "tray" = { icon-size = 21; spacing = 10; }; }; }; style = '' * { border: none; border-radius: 0; font-family: "JetBrainsMono Nerd Font"; font-size: 13px; min-height: 0; } window#waybar { background: rgba(21, 18, 27, 0.6); color: #cdd6f4; } tooltip { background: #1e1e2e; border-radius: 10px; border-width: 2px; border-style: solid; border-color: #11111b; } #workspaces button { padding: 5px; color: #313244; margin-right: 5px; } #workspaces button.active { color: #a6adc8; } #workspaces button.focused { color: #a6adc8; background: #eba0ac; border-radius: 10px; } #workspaces button.urgent { color: #11111b; background: #a6e3a1; border-radius: 10px; } #workspaces button:hover { background: #11111b; color: #cdd6f4; border-radius: 10px; } #clock, #workspaces, #network, #pulseaudio, #tray { background: #1e1e2e; padding: 0px 10px; margin: 3px 0px; margin-top: 10px; border: 1px solid #181825; } ''; }; }