{ pkgs, ... }: { programs.waybar = { enable = true; settings = { mainBar = { layer = "top"; modules-left = [ "custom/symbol" "cpu" "memory" "keyboard-state" "tray" ]; modules-center = [ "hyprland/workspaces" ]; modules-right = [ "idle_inhibitor" "backlight" "pulseaudio" "group/networks" "battery" "clock" ]; pulseaudio = { tooltip = false; scroll-step = 5; format = "{icon} {volume}%"; format-muted = "󰝟 {volume}%"; on-click-right = "pactl set-sink-mute @DEFAULT_SINK@ toggle"; on-click = "pavucontrol"; format-icons = { default = [ "" "" "" ]; }; }; idle_inhibitor = { format = "{icon}"; format-icons = { activated = ""; deactivated = ""; }; }; "custom/network-symbol" = { format = "  "; tooltip = false; on-click = "nm-connection-editor"; }; "group/networks" = { orientation = "inherit"; drawer = { children-class = "drawer-network"; }; modules = [ "custom/network-symbol" "network" ]; }; network = { tooltip = false; format-wifi = "{ipaddr} ({essid})"; format-ethernet = "{ipaddr}"; }; keyboard-state = { numlock = true; capslock = true; format = { numlock = "N {icon}"; capslock = "C {icon}"; }; format-icons = { locked = " "; unlocked = " "; }; }; backlight = { tooltip = false; format = " {}%"; interval = 1; on-scroll-up = "brightnessctl set +5%"; on-scroll-down = "brightnessctl set 5%-"; }; battery = { states = { good = 95; warning = 30; critical = 20; }; format = "{icon} {capacity}%"; format-charging = " {capacity}%"; format-plugged = " {capacity}%"; format-alt = "{time} {icon}"; format-icons = [ "" "" "" "" "" ]; }; tray = { icon-size = 18; spacing = 10; }; clock = { format = "{:%I:%M %p | %m/%d/%Y}"; }; cpu = { interval = 15; format = " {}%"; max-length = 10; }; memory = { interval = 30; format = " {}%"; max-length = 10; }; "custom/symbol" = { format = " 󰣇 "; tooltip = false; }; "group/workspaces" = { orientation = "inherit"; drawer = { children-class = "drawer-workspace"; }; modules = [ "custom/symbol" "hyprland/workspaces" ]; }; "hyprland/workspaces" = { disable-scroll = true; active-only = true; format = "{name} [ {windows} ]"; window-rewrite-default = ""; format-window-separator = " "; window-rewrite = { "class" = ""; "class" = ""; "class" = ""; "class" = ""; "class" = ""; "class" = ""; "class" = ""; "class" = ""; }; }; }; }; style = '' * { font-family: "SF Pro Display", "Font Awesome 6 Free", "JetBrainsMono Nerd Font"; font-size: 16px; min-height: 10px; color: #c0caf5; background: transparent; } window#waybar { background: rgba(255, 255, 255, 0.2); border-radius: 5px; } #keyboard-state, #pulseaudio, #backlight, #clock, #memory, #cpu, #battery, #custom-symbol, #custom-network-symbol, #privacy, #tray, #idle_inhibitor, #workspaces button, #workspaces button.active { margin: 5px; border-radius: 3px; transition: none; border-bottom: 3px solid #c0caf5; } #keyboard-state:hover, #pulseaudio:hover, #backlight:hover, #clock:hover, #memory:hover, #cpu:hover, #custom-symbol:hover, #custom-network-symbol:hover, #privacy:hover, #tray:hover, #idle_inhibitor:hover, #workspaces button:hover { border-bottom: 3px solid #0dd2e7; } #battery.charging, #battery.plugged { color: #c3e88d; border-bottom: 3px solid #c3e88d; } #battery.critical:not(.charging) { color: #ff757f; border-bottom: 3px solid #ff757f; } #workspaces button.active, #workspaces button.focus { outline: none; color: #0dd2e7; text-shadow: none; } ''; }; home.packages = with pkgs; [ pavucontrol networkmanagerapplet ]; }