{
config,
pkgs,
lib,
inputs,
...
}: {
programs.waybar = {
enable = true;
systemd.enable = true; # using these instead of exec-once beacuse SOME packages (swaync) dont let you disable them
settings = {
mainBar = {
layer = "top";
position = "top";
height = 30;
modules-left = ["hyprland/workspaces"];
modules-center = [
"clock"
"custom/swaync"
];
modules-right = [
"pulseaudio/slider"
"backlight/slider"
"battery"
"tray"
];
"clock" = {
"format" = "{:%A %d %b %T}";
"tooltip" = "true";
"tooltip-format" = "{calendar}";
"interval" = 1;
"calendar" = {
"mode" = "month";
"format" = {
"months" = "{}";
"days" = "{}";
"weekdays" = "{}";
"today" = "{}";
};
};
};
"custom/swaync" = {
"tooltip" = false;
"format" = "{icon} {}";
"format-icons" = {
"notification" = "🔔🔔";
"none" = "🔔";
"dnd-notification" = "🔔🔔";
"dnd-none" = "🔔";
"inhibited-notification" = "🔔🔔";
"inhibited-none" = "🔔";
"dnd-inhibited-notification" = "🔔🔔";
"dnd-inhibited-none" = "🔔";
};
"return-type" = "json";
"exec-if" = "which swaync-client";
"exec" = "swaync-client -swb";
"on-click" = "swaync-client -t -sw";
"on-click-right" = "swaync-client -d -sw";
"escape" = true;
};
};
};
style = ''
.module {
margin: 0px 10px 0px 10px;
}
#pulseaudio-slider trough {
min-height: 10px;
min-width: 80px;
border-radius: 5px;
background-color: transparent;
}
#pulseaudio-slider highlight {
min-width: 80px;
border-radius: 5px;
}
#backlight-slider trough {
min-height: 10px;
min-width: 80px;
border-radius: 5px;
background-color: transparent;
}
#backlight-slider highlight {
min-width: 80px;
border-radius: 5px;
}
'';
};
}