{ config, ... }: { home.file.".config/waybar/config".text = '' { "position": "top", "spacing": 4, "modules-left": ["custom/icon", "dwl/tags", "tray"], "modules-center": ["clock"], "modules-right": ["pulseaudio", "cpu", "memory", "temperature", "battery"], "custom/icon": { "format": " ", "tooltip": false }, "tray": { "spacing": 10 }, "clock": { "format": "{:%Y/%m/%d - %A - %R}", "tooltip": false }, "cpu": { "format": " {usage}%", "tooltip": false }, "memory": { "format": " {}%" }, "temperature": { "thermal-zone": 2, "critical-threshold": 80, "format-critical": "{icon} {temperatureC}°C", "format": "{icon} {temperatureC}°C", "format-icons": ["", "", ""] }, "battery": { "states": { "good": 95, "warning": 30, "critical": 15 }, "format": "{icon} {capacity}%", "format-charging": " {capacity}%", "format-plugged": " {capacity}%", "format-alt": "{icon} {time}", "format-icons": ["", "", "", "", ""] }, "pulseaudio": { "scroll-step": 5, // %, can be a float "format": "{icon} {volume}% {format_source}", "format-bluetooth": " {icon} {volume}% {format_source}", "format-bluetooth-muted": "  {icon} {format_source}", "format-muted": " {format_source}", "format-source": " {volume}%", "format-source-muted": "", "format-icons": { "default": ["", "", ""] }, "on-click-right": "pavucontrol", }, } ''; programs.waybar = { enable = true; style = '' * { font-family: "${config.stylix.fonts.serif.name}"; font-size: 16px; min-height: 16px; } window#waybar { margin-top: 6px; padding-left: 10px; padding-right: 10px; } #custom-icon, #tray, #clock, #pulseaudio, #cpu, #memory, #temperature, #battery { margin-top: 6px; margin-left: 8px; padding-left: 10px; margin-bottom: 0px; padding-right: 10px; color: #${config.stylix.base16Scheme.palette.base05}; background: #${config.stylix.base16Scheme.palette.base00}; border: 2px solid #${config.stylix.base16Scheme.palette.base0D}; } #custom-icon { margin-left: 10px; } #memory { margin-right: 10px; } #battery.critical:not(.charging) { animation-name: blink; animation-duration: 0.5s; animation-timing-function: linear; animation-iteration-count: infinite; animation-direction: alternate; } @keyframes blink { to { background-color: #${config.stylix.base16Scheme.palette.base08}; } } #tags { margin-top: 6px; margin-left: 8px; padding-left: 10px; margin-bottom: 0px; padding-right: 10px; border: 2px solid #${config.stylix.base16Scheme.palette.base0D}; } #tags button.occupied { color: #${config.stylix.base16Scheme.palette.base0B}; background: #${config.stylix.base16Scheme.palette.base00}; } #tags button.focused { color: #${config.stylix.base16Scheme.palette.base0D}; background: #${config.stylix.base16Scheme.palette.base00}; } ''; }; }