{ inputs , pkgs , ... }: { programs.waybar = { enable = true; package = inputs.waybar.packages.${pkgs.system}.waybar; settings = { mainBar = { layer = "top"; height = 35; spacing = 4; output = "DP-2"; modules-left = [ "wlr/taskbar" ]; modules-center = [ "hyprland/workspaces" ]; modules-right = [ "tray" "wireplumber" "cpu#cpu2" "cpu" "memory" "custom/updates" "temperature" "battery" "clock" "clock#clock2" ]; "wlr/taskbar" = { on-click = "activate"; on-click-right = "close"; format = "{icon} {title:.20}"; all-outputs = true; }; "wireplumber" = { format = "{icon} {volume}%"; format-muted = ""; on-click = "wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"; format-icons = [ "" "" "" ]; }; "hyprland/workspaces" = { disable-scroll = true; all-outputs = true; warp-on-scroll = false; format = "{name}"; }; "hyprland/window" = { max-length = 50; }; tray = { spacing = 10; }; "clock#clock2" = { timezone = "Europe/Brussels"; format = "{:%H:%M:%S}"; interval = 1; }; clock = { timezone = "Europe/Brussels"; format = "{:%Y-%m-%d}"; interval = 3600; }; cpu = { format = "{max_frequency}GHz"; tooltip = false; interval = 5; }; "cpu#cpu2" = { format = "CPU {usage}%"; tooltip = false; interval = 5; }; "custom/updates" = { exec = "bash -c \"checkupdates | wc -l\""; on-click = "alacritty -e bash -c \"yay ; echo '\nDone, press any key to exit...' ; read\""; interval = 60; format = "{}  "; }; memory = { interval = 5; format = "{used:0.2f}G"; }; temperature = { hwmon-path = "/sys/class/hwmon/hwmon2/temp1_input"; interval = 5; critical-threshold = 80; format = "{temperatureC}°C"; }; battery = { states = { warning = 30; critical = 15; }; format = "{icon}"; tooltip-format = "{capacity}% ({time})"; format-plugged = "{capacity}% "; format-alt = "{capacity}% {time} {icon}"; format-icons = [ " " " " " " " " " " ]; }; }; }; style = '' * { /* `otf-font-awesome` is required to be installed for icons */ font-size: 18px; font-weight:400; font-family: "Roboto Sans", "FontAwesome"; } window#waybar { background-color: rgba(0, 0, 0, 0.2); color: #ffffff; transition-property: background-color; transition-duration: .5s; } /* window#waybar.hidden { */ /* opacity: 0.2; */ /* } */ button { border: none; border-radius: 0; } button:hover { background: inherit; box-shadow: inset 0 0 #ffffff; } #workspaces button { padding: 0 5px; background-color: transparent; color: #ffffff; border-radius: 2px; } #workspaces button:hover { background-color: #023269; } #workspaces button.focused { background-color: #023269; } #workspaces button.active { background-color: #023269; } #workspaces button.urgent { background-color: #ed8274; } #window, #clock, #battery, #cpu, #memory, #disk, #temperature, #backlight, #network, #pulseaudio, #wireplumber, #custom-updates, #custom-powermode, #tray { padding: 0 14px; border-radius: 7px; color: #ffffff; background-color: #1f2430; margin-left:4px; margin-right:4px; margin-top:2px; margin-bottom:2px; } #clock.clock2, #cpu.cpu2, #memory, #tray, #temperature { background-color: #023269; } #taskbar button { padding: 0 12px; border-radius: 7px; color: #ffffff; background-color: #1f2430; margin-left:4px; margin-right:4px; margin-top:2px; margin-bottom:2px; } #taskbar button.active { background-color: #023269; } #window { font-weight:400; margin-left:0; } window#waybar.empty #window { background-color: transparent; } #clock { margin-right:0; } #workspaces { margin: 4px 9px; } /* If workspaces is the leftmost module, omit left margin */ .modules-left > widget:first-child > #workspaces { margin-left: 0; } /* If workspaces is the rightmost module, omit right margin */ .modules-right > widget:last-child > #workspaces { margin-right: 0; } @keyframes blink { to { background-color: #ffffff; color: #000000; } } #battery.critical:not(.charging) { background-color: #f53c3c; color: #ffffff; animation-name: blink; animation-duration: 0.5s; animation-timing-function: linear; animation-iteration-count: infinite; animation-direction: alternate; } label:focus { background-color: #000000; } #custom-media { background-color: #66cc99; color: #2a5c45; min-width: 100px; } #custom-media.custom-spotify { background-color: #66cc99; } #custom-media.custom-vlc { background-color: #ffa000; } #tray > .passive { -gtk-icon-effect: dim; } #tray > .needs-attention { -gtk-icon-effect: highlight; background-color: #eb4d4b; } ''; }; }