{ config, pkgs, ... }: { programs.waybar = { enable = true; package = pkgs.waybar; settings = { mainBar = { layer = "top"; "modules-left" = [ "hyprland/workspaces" "temperature" "hyprland/window" ]; "modules-center" = [ "custom/spacer" ]; "modules-right" = [ "tray" "cpu" "memory" "idle_inhibitor" "clock" "pulseaudio" "bluetooth" ]; "hyprland/window" = { format = "{title}"; "max-length" = 333; "seperate-outputs" = true; }; clock = { format = "{:%I:%M %a %d}"; "tooltip-format" = "{calendar}"; calendar = { mode = "month"; "mode-mon-col" = 3; "on-scroll" = 1; "on-click-right" = "mode"; format = { months = "{}"; days = "{}"; weeks = "{%W}"; weekdays = "{}"; today = "{}"; }; }; actions = { "on-click-middle" = "mode"; "on-click-right" = "shift_up"; "on-click" = "shift_down"; }; }; cpu = { format = "󰯳 {usage}%"; }; memory = { format = "󰍛 {}%"; interval = 1; }; "custom/gpu-util" = { exec = "./scripts/gpu-util"; format = "󰯿 {}"; interval = 1; }; "custom/gpu-temp" = { exec = "./scripts/gpu-temp"; format = " {}"; interval = 1; }; temperature = { "hwmon-path" = "/sys/class/hwmon/hwmon1/temp1_input"; "critical-threshold" = 80; format = " {temperatureC}°C"; interval = 1; }; "hyprland/workspaces" = { format = "{icon}"; "active-only" = false; "sort-by-number" = false; "on-click" = "activate"; "all-outputs" = false; "format-icons" = { "1" = "1"; "2" = "2"; "3" = "3"; "4" = "4"; "5" = "5"; "6" = "6"; "7" = "7"; "8" = "8"; "9" = "9"; "10" = "10"; }; }; network = { format = "󰤭 Off"; "format-wifi" = "{essid} ({signalStrength}%)"; "format-ethernet" = "󰈀"; "format-disconnected" = "󰤭 Disconnected"; "tooltip-format" = "{ifname} via {gwaddr} "; "tooltip-format-wifi" = "{essid}({signalStrength}%)  "; "tooltip-format-ethernet" = "󰈀 {ifname}"; "tooltip-format-disconnected" = "Disconnected"; }; pulseaudio = { format = "{icon} {volume}% {format_source}"; "format-bluetooth" = "{icon} {volume}% {format_source}"; "format-bluetooth-muted" = "󰖁 {format_source}"; "format-muted" = "󰖁 {format_source}"; "format-source" = " {volume}%"; "format-source-muted" = ""; "format-icons" = { headphone = ""; phone = ""; portable = ""; default = [ "" "" "" ]; }; "on-click-left" = "pavucontrol"; input = true; }; "custom/playerctl" = { format = "{icon} {}"; "return-type" = "json"; "max-length" = 333; exec = "playerctl -a metadata --format '{\"text\": \"{{artist}} ~ {{markup_escape(title)}}\", \"tooltip\": \"{{playerName}} : {{markup_escape(title)}}\", \"alt\": \"{{status}}\", \"class\": \"{{status}}\"}' -F"; "on-click-middle" = "playerctl play-pause"; "on-click" = "playerctl previous"; "on-click-right" = "playerctl next"; "format-icons" = { Playing = ""; Paused = ""; }; }; tray = { format = "{icon}"; "icon-size" = 14; spacing = 5; }; idle_inhibitor = { format = "{icon}"; "format-icons" = { activated = "󱠛"; deactivated = "󱤱"; }; }; "custom/subs" = { format = "󰗃 {}"; exec = "/usr/local/bin/subsfile.sh"; "on-click" = "vivaldi-stable https://youtube.com/thelinuxcast"; "restart-interval" = 1; }; "custom/spacer" = { format = " "; }; "wlr/taskbar" = { format = "{name}"; "icon-size" = 14; "icon-theme" = "Numix-Circle"; "tooltip-format" = "{title}"; "on-click" = "activate"; "on-click-middle" = "close"; "ignore-list" = [ "Alacritty" ]; "app_ids-mapping" = { firefoxdeveloperedition = "firefox-developer-edition"; }; rewrite = { "Firefox Web Browser" = "Firefox"; "Foot Server" = "Terminal"; }; }; bluetooth = { "on-click" = "./scripts/bluetooth-control"; "on-click-right" = "./scripts/rofi-bluetooth"; "on-click-middle" = "./scripts/rofi-bluetooth"; format = "{icon}"; interval = 15; "format-icons" = { on = ""; off = "󰂲"; disabled = "󰂲"; connected = ""; }; "tooltip-format" = "{device_alias} {status}"; }; }; }; style = '' @define-color background #${config.stylix.base16Scheme.base00}; @define-color foreground #${config.stylix.base16Scheme.base05}; @define-color border #${config.stylix.base16Scheme.base02}; @define-color color1 #${config.stylix.base16Scheme.base01}; @define-color color2 #${config.stylix.base16Scheme.base02}; @define-color color3 #${config.stylix.base16Scheme.base03}; @define-color color4 #${config.stylix.base16Scheme.base04}; @define-color color5 #${config.stylix.base16Scheme.base05}; @define-color color6 #${config.stylix.base16Scheme.base06}; @define-color color7 #${config.stylix.base16Scheme.base07}; @define-color color8 #${config.stylix.base16Scheme.base08}; @define-color color9 #${config.stylix.base16Scheme.base09}; @define-color color10 #${config.stylix.base16Scheme.base0A}; @define-color color11 #${config.stylix.base16Scheme.base0B}; @define-color color12 #${config.stylix.base16Scheme.base0C}; @define-color color13 #${config.stylix.base16Scheme.base0D}; @define-color color14 #${config.stylix.base16Scheme.base0E}; @define-color color15 #${config.stylix.base16Scheme.base0F}; * { min-height: 0; margin: 0; padding: 0; font-family: "JetBrains Mono Nerd Font"; font-size: 14pt; font-weight: 700; padding-bottom: 0px; } tooltip { background: @background; border: 2px solid @border; } #window { margin: 0px 5px 0px 5px; padding-left: 10px; padding-right: 7px; background-color: @color14; color: #282828; } window#waybar.empty #window { background-color: transparent; border-bottom: none; border-right: none; } window#waybar { background-color:@color14; color: @color2; } /* Workspaces */ #workspaces { margin: 0px 0px 0px 0px; padding: 0px; background-color: @background; color: @color7; } #workspaces button { margin: 0px 0px 0px 0px; padding-left: 3px; padding-right: 9px; background-color: @background; color: @color7; } #workspaces button.active { padding: 0 2px 0 1px; color: @color3; } #workspaces button.urgent { color: @color9; } #custom-gpu-util { margin: 0px 5px 0px 5px; padding-left: 10px; padding-right: 10px; background-color: @background; color: @foreground; } #tray { margin: 0px 0px 0px 0px; padding-left: 10px; padding-right: 10px; background-color: @background; color: @foreground; } #idle_inhibitor { margin: 0px 0px 0px 0px; padding-left: 10px; padding-right: 12px; background-color: @background; color: @foreground; } #idle_inhibitor.activated { color: @color9; } #network { margin: 0px 0px 0px 0px; padding-left: 10px; padding-right: 12px; background-color: @background; color: @color11; } #network.linked { color: @color6; } #network.disconnected, #network.disabled { color: @color4; } #custom-subs { color: @foreground; margin: 0px 5px 0px 5px; padding-left: 10px; padding-right: 12px; border-bottom: 2px solid @background; border-right: 2px solid @background; border-color: @color8; background-color: @color13; } #custom-cliphist { color: @color14; margin: 0px 5px 0px 5px; padding-left: 10px; padding-right: 12px; background-color: @background; } #custom-gpu-temp, #custom-clipboard { margin: 0px 5px 0px 5px; padding-left: 10px; padding-right: 10px; color: @foreground; background-color: @background; } #cpu { margin: 0px 0px 0px 0px; padding-left: 6px; padding-right: 6px; color: @foreground; background-color: @background; } #custom-cpuicon { margin: 0px 0px 0px 0px; padding: 0px 10px 0px 10px; color: @color14; background-color: @background; } #custom-diskicon { margin: 0px 0px 0px 0; padding: 0 10px 0 10px; color: @color2; background-color: @background; } #disk { margin: 0px 0px 0px 0; padding-left: 0px; padding-right: 0px; color: @foreground; background-color: @background; } #custom-notification { background-color: @background; color: @color15; padding: 0 12px; margin-right: 0px; font-size: 14px; font-family: "JetBrainsMono Nerd Font"; } #custom-memoryicon { margin: 0px 0px 0px 0px; color: @color4; padding: 0 11px 0 7px; background-color: @background; } #memory { margin: 0px 0px 0px 0px; padding-left: 5px; padding-right: 10px; color: @color4; background-color: @background; } #custom-tempicon { margin: 0px 0px 0px 0px; color: @color10; padding: 0 11px 0 8px; background-color: @background; } #temperature { margin: 0px 0px 0px 0px; padding-left: 5px; padding-right: 10px; color: @color10; background-color: @background; } #custom-playerctl { margin: 0px 5px 0px 5px; padding-left: 10px; padding-right: 10px; color: @foreground; background-color: @background; } #battery, #backlight, #bluetooth, #pulseaudio { margin-top: 0px; margin-bottom: 0px; color: @foreground; background-color: @background; } #pulseaudio { margin-top: 0px; margin-bottom: 0px; color: @color15; background-color: @background; } #battery, #bluetooth { margin-left: 0px; margin-right: 0px; padding-left: 0px; padding-right: 2px; } #backlight, #pulseaudio { margin-right: 0px; margin-left: 0px; padding-left: 10px; padding-right: 7.5px; } #clock { margin: 0px 0px 0px 0px; padding-left: 10px; padding-right: 10px; color: @color6; background-color: @background; } #custom-clockicon { margin: 0px 0 0px 0px; color: @color6; padding: 0 5px 0 10px; background-color: @background; } #taskbar { padding: 0 3px; margin: 0 0px; color: #ffffff; background-color: rgba(120,118,117,0.3); } #taskbar button { padding: 0 0 0 3px; margin: 0px 0px; color: #ffffff; background-color: rgba(120,118,117,0.1); } #taskbar button.active { background-color: rgba(120,118,117,0.8); } #mode { margin: 0px 5px 0px 5px; padding-left: 10px; padding-right: 10px; background-color: @background; color: @color9; } ''; }; }