{ config, pkgs, ... }: { programs.waybar = { enable = true; settings = { mainBar = { layer = "top"; position = "top"; height = 30; modules-left = [ "hyprland/workspaces" "hyprland/window" ]; modules-center = [ "clock" ]; modules-right = [ "pulseaudio" "network" "cpu" "memory" "battery" "tray" ]; "hyprland/workspaces" = { format = "{icon}"; on-click = "activate"; format-icons = { "1" = "󰲠"; "2" = "󰲢"; "3" = "󰲤"; "4" = "󰲦"; "5" = "󰲨"; "6" = "󰲪"; "7" = "󰲬"; "8" = "󰲮"; "9" = "󰲰"; "10" = "󰿬"; }; }; "hyprland/window" = { format = "{}"; separate-outputs = true; }; clock = { format = "󰃰 {:%H:%M}"; format-alt = "󰃰 {:%A, %B %d, %Y (%R)}"; tooltip-format = "{calendar}"; calendar = { mode = "year"; mode-mon-col = 3; weeks-pos = "right"; on-scroll = 1; format = { months = "{}"; days = "{}"; weeks = "W{}"; weekdays = "{}"; today = "{}"; }; }; }; pulseaudio = { format = "{icon} {volume}%"; format-muted = "󰝟 Muted"; format-icons = { headphone = ""; hands-free = ""; headset = ""; phone = ""; portable = ""; car = ""; default = [ "" "" "" ]; }; on-click = "pavucontrol"; }; network = { format-wifi = " {essid}"; format-ethernet = "󰈀 Wired"; format-disconnected = "󰤭 Disconnected"; tooltip-format = "{ifname} via {gwaddr}"; tooltip-format-wifi = "{essid} ({signalStrength}%)"; on-click = "nm-connection-editor"; }; cpu = { format = " {usage}%"; tooltip = false; }; memory = { format = " {}%"; tooltip-format = "RAM: {used:0.1f}G / {total:0.1f}G"; }; battery = { states = { warning = 30; critical = 15; }; format = "{icon} {capacity}%"; format-charging = "󰂄 {capacity}%"; format-plugged = " {capacity}%"; format-icons = [ "󰂎" "󰁺" "󰁻" "󰁼" "󰁽" "󰁾" "󰁿" "󰂀" "󰂁" "󰂂" "󰁹" ]; }; tray = { icon-size = 18; spacing = 10; }; }; }; style = '' * { border: none; border-radius: 0; font-family: "JetBrainsMono Nerd Font"; font-size: 13px; min-height: 0; } window#waybar { background: rgba(30, 30, 46, 0.9); color: #cdd6f4; } #workspaces button { padding: 0 10px; color: #cdd6f4; background: transparent; border-bottom: 3px solid transparent; } #workspaces button.active { color: #89b4fa; border-bottom: 3px solid #89b4fa; } #workspaces button:hover { background: rgba(137, 180, 250, 0.2); } #window { margin: 0 10px; color: #cdd6f4; } #clock, #battery, #cpu, #memory, #network, #pulseaudio, #tray { padding: 0 10px; margin: 0 2px; background: rgba(49, 50, 68, 0.8); border-radius: 5px; } #battery.charging { color: #a6e3a1; } #battery.warning:not(.charging) { color: #f9e2af; } #battery.critical:not(.charging) { color: #f38ba8; } #pulseaudio.muted { color: #f38ba8; } ''; }; }