{ config, lib, pkgs, ... }: { home-manager.users.alukard.programs.waybar = { enable = true; settings = { mainBar = { layer = "top"; position = "top"; margin = "10 10 0 8"; modules-left = [ "wlr/workspaces" ]; modules-right = [ # "cpu" "disk" "temperature" "custom/mem" "backlight" "battery" "clock" "tray" ]; cpu = { interval = 4; format = "{usage}"; }; disk = { interval = 60; format = "{free}"; path = "/"; }; "custom/separator" = { format = "|"; interval = "once"; tooltip = false; }; "wlr/workspaces" = { format = "{icon}"; on-click = "activate"; format-icons = { "10" = "0"; "Messengers" = "Msg"; "Music" = "Mus"; }; }; temperature = { critical-threshold = 80; format = "{temperatureC}°C {icon}"; format-icons = [ "" "" "" "" "" ]; tooltip = false; }; "custom/mem" = { format = "{} "; interval = 3; exec = "free -h | awk '/Mem:/{printf $7}'"; tooltip = false; }; backlight = { device = "intel_backlight"; format = "{percent}% {icon}"; format-icons = [ "" "" "" "" "" "" "" ]; min-length = 7; }; battery = { states = { warning = 30; critical = 15; }; format = "{capacity}% {icon}"; format-charging = "{capacity}% "; format-plugged = "{capacity}% "; format-alt = "{time} {icon}"; format-icons = [ "" "" "" "" "" "" "" "" "" "" ]; on-update = "$HOME/.config/waybar/scripts/check_battery.sh"; }; clock = { format = "{:%a, %d %b, %H:%M}"; tooltip-format = "{:%Y %B}\n{calendar}"; }; tray = { icon-size = 16; spacing = 0; }; }; }; style = '' * { border: none; border-radius: 0; /* `otf-font-awesome` is required to be installed for icons */ font-family: IBM Plex Mono; font-size: 14px; min-height: 14px; } window#waybar { background: transparent; } window#waybar.hidden { opacity: 0.2; } #workspaces { margin-right: 8px; border-radius: 10px; transition: none; background: #383c4a; } #workspaces button { transition: none; color: #7c818c; background: transparent; padding: 5px; font-size: 12px; } #workspaces button.persistent { color: #7c818c; font-size: 12px; } #workspaces button:hover { transition: none; box-shadow: inherit; text-shadow: inherit; border-radius: inherit; color: #383c4a; background: #7c818c; } #workspaces button.focused { color: white; } #language { padding-left: 16px; padding-right: 8px; border-radius: 10px 0px 0px 10px; transition: none; color: #ffffff; background: #383c4a; } #keyboard-state { margin-right: 8px; padding-right: 16px; border-radius: 0px 10px 10px 0px; transition: none; color: #ffffff; background: #383c4a; } #custom-pacman { padding-left: 16px; padding-right: 8px; border-radius: 10px 0px 0px 10px; transition: none; color: #ffffff; background: #383c4a; } #custom-mail { /* https://github.com/Alexays/Waybar/wiki/FAQ#the-workspace-buttons-have-a-strange-hover-effect */ margin-right: 8px; padding-right: 16px; border-radius: 0px 10px 10px 0px; transition: none; color: #ffffff; background: #383c4a; } #mode { padding-left: 16px; padding-right: 16px; border-radius: 10px; transition: none; color: #ffffff; background: #383c4a; } #clock { padding-left: 16px; padding-right: 16px; border-radius: 10px 0px 0px 10px; transition: none; color: #ffffff; background: #383c4a; } #custom-weather { padding-right: 16px; border-radius: 0px 10px 10px 0px; transition: none; color: #ffffff; background: #383c4a; } #pulseaudio { margin-right: 8px; padding-left: 16px; padding-right: 16px; border-radius: 10px; transition: none; /* https://github.com/Alexays/Waybar/wiki/FAQ#the-workspace-buttons-have-a-strange-hover-effect */ color: #ffffff; background: #383c4a; } #pulseaudio.muted { background-color: #90b1b1; color: #2a5c45; } #custom-mem { margin-right: 8px; padding-left: 16px; padding-right: 16px; border-radius: 10px; transition: none; color: #ffffff; background: #383c4a; } #temperature { margin-right: 8px; padding-left: 16px; padding-right: 16px; border-radius: 10px; transition: none; color: #ffffff; background: #383c4a; } #temperature.critical { background-color: #eb4d4b; } #backlight { margin-right: 8px; padding-left: 16px; padding-right: 16px; border-radius: 10px; transition: none; color: #ffffff; background: #383c4a; } #disk { margin-right: 8px; padding-left: 16px; padding-right: 16px; border-radius: 10px; transition: none; color: #ffffff; background: #383c4a; } #battery { margin-right: 8px; padding-left: 16px; padding-right: 16px; border-radius: 10px; transition: none; color: #ffffff; background: #383c4a; } #battery.charging { color: #ffffff; background-color: #26A65B; } #battery.warning:not(.charging) { background-color: #ffbe61; color: black; } #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; } #tray { padding-left: 16px; padding-right: 16px; border-radius: 10px; transition: none; color: #ffffff; background: #383c4a; } @keyframes blink { to { background-color: #ffffff; color: #000000; } } ''; systemd.enable = true; systemd.target = "hyprland-session.target"; }; }