{ # https://github.com/Alexays/Waybar/wiki/Module:-Hyprland programs.waybar = { enable = true; systemd.enable = true; settings = { mainBar = { layer = "bottom"; position = "top"; mod = "dock"; exclusive = true; passthrough = false; gtk-layer-shell = true; height = 0; modules-left = [ "hyprland/workspaces" ]; modules-center = [ "hyprland/window" ]; modules-right = [ "tray" "custom/updates" "keyboard-state#capslock" "keyboard-state#numlock" "pulseaudio" "pulseaudio#microphone" "network" "clock" "custom/weather" ]; "hyprland/window" = { format = {}; }; "hyprland/workspaces" = { disable-scroll = true; all-outputs = true; on-click = "activate"; persistent_workspaces = { "1" = []; }; }; "custom/weather" = { tooltip = true; format = {}; interval = 30; exec = "sudo waybar-weather"; return-type = "json"; }; "custom/updates" = { tooltip = true; format = {}; interval = 60; exec = "sudo waybar-updates"; return-type = "json"; }; tray = { icon-size = 16; spacing = 10; }; clock = { format = "{:%I:%M %p}"; tooltip-format = "{:%Y %B}\n{calendar}"; }; pulseaudio = { format = "{icon} {volume}%"; tooltip = false; format-muted = " Muted"; on-click = "pamixer -t"; on-click-right = "pavucontrol -t 1"; on-scroll-up = "pamixer -i 5"; on-scroll-down = "pamixer -d 5"; scroll-step = 5; format-icons = { headphone = ""; hands-free = ""; headset = ""; phone = ""; portable = ""; car = ""; default = ["" "" ""]; }; }; "pulseaudio#microphone" = { format = "{format_source}"; format-source = "🎙{volume}%"; format-source-muted = "🎙Muted"; on-click = "pamixer --default-source -t"; on-click-right = "pavucontrol -t 2"; on-scroll-up = "pamixer --default-source -i 5"; on-scroll-down = "pamixer --default-source -d 5"; scroll-step = 5; }; network = { interface = "wlp9s0"; format = "{ifname}"; format-wifi = "{essid} ({signalStrength}%) "; format-ethernet = "{ifname} "; format-disconnected = ""; # An empty format will hide the module. tooltip-format = "{ifname}"; tooltip-format-wifi = "{essid} ({signalStrength}%) "; tooltip-format-ethernet = "{ifname} "; tooltip-format-disconnected = "Disconnected"; max-length = 50; }; "keyboard-state#capslock" = { capslock = true; format = "{name} {icon}"; format-icons = { locked = ""; unlocked = ""; }; }; "keyboard-state#numlock" = { numlock = true; format = "{name} {icon}"; format-icons = { locked = ""; unlocked = ""; }; }; }; }; # https://catppuccin.com/palette style = '' * { border: none; border-radius: 0; font-family: Jetbrains Mono Nerd Font, monospace; font-weight: bold; font-size: 14px; min-height: 0; } window#waybar { background: rgba(21, 18, 27, 0); 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; } #custom-updates, #custom-caffeine, #custom-weather, #window, #clock, #battery, #pulseaudio, #network, #workspaces, #keyboard-state.numlock, #keyboard-state.capslock, #tray, #backlight { background: #1e1e2e; padding: 0px 10px; margin: 3px 0px; margin-top: 10px; border: 1px solid #181825; } #tray { border-radius: 10px; margin-right: 10px; } #workspaces { background: #1e1e2e; border-radius: 10px; margin-left: 10px; padding-right: 0px; padding-left: 5px; } #custom-caffeine { color: #89dceb; border-radius: 10px 0px 0px 10px; border-right: 0px; margin-left: 10px; } #custom-updates { color: #f5c2e7; border-radius: 10px 0px 0px 10px; border-left: 0px; border-right: 0px; } #window { border-radius: 10px; margin-left: 60px; margin-right: 60px; } #clock { color: #f5a97f; border-radius: 10px 0px 0px 10px; margin-left: 5px; border-right: 0px; } #keyboard-state.capslock { color: #91d7e3; border-left: 0px; border-right: 0px; } #keyboard-state.numlock { color: #7dc4e4; border-left: 0px; border-right: 0px; } #network { color: #eed49f; border-left: 0px; border-right: 0px; border-radius: 10px 10px 10px 10px; margin-left: 5px; padding-right: 15px; } #pulseaudio { color: #8aadf4; border-left: 0px; border-right: 0px; } #pulseaudio.microphone { color: #c6a0f6; border-radius: 0px 10px 10px 0px; border-left: 0px; border-right: 0px; padding-top: 5px; } #battery { color: #a6e3a1; border-radius: 0 10px 10px 0; margin-right: 10px; border-left: 0px; } #custom-weather { border-radius: 0px 10px 10px 0px; border-right: 0px; margin-left: 0px; } ''; }; }