100 lines
3 KiB
Nix
100 lines
3 KiB
Nix
{ pkgs, ... }:
|
||
{
|
||
programs.waybar = {
|
||
enable = true;
|
||
package = pkgs.waybar.override {
|
||
hyprlandSupport = true;
|
||
swaySupport = false;
|
||
};
|
||
systemd.enable = true;
|
||
style = ./style.css;
|
||
settings = {
|
||
mainBar = {
|
||
layer = "top";
|
||
position = "top";
|
||
height = 28;
|
||
modules-left = [ "hyprland/workspaces" "hyprland/window" "hyprland/submap" ];
|
||
modules-center = [ ];
|
||
modules-right = [ "tray" "idle_inhibitor" "network" "bluetooth" "wireplumber" "backlight" "battery" "clock" "custom/notification" ];
|
||
"hyprland/workspaces" = {
|
||
separate-outputs = true;
|
||
};
|
||
idle_inhibitor = {
|
||
format = "{icon}";
|
||
format-icons = {
|
||
activated = "";
|
||
deactivated = "";
|
||
};
|
||
tooltip = false;
|
||
};
|
||
clock = {
|
||
tooltip = false;
|
||
interval = 1;
|
||
format = "{:%H:%M}";
|
||
format-alt = "{:%d %B %Y, %A}";
|
||
};
|
||
backlight = {
|
||
format = "{icon}";
|
||
format-icons = [ "" "" "" "" "" "" "" ];
|
||
tooltip = false;
|
||
};
|
||
battery = {
|
||
states = {
|
||
good = 90;
|
||
warning = 30;
|
||
critical = 10;
|
||
};
|
||
format = "{icon}";
|
||
format-alt = "{icon} {capacity}% ({time})";
|
||
format-charging = " {capacity}%";
|
||
format-plugged = " {capacity}%";
|
||
format-icons = [ "" "" "" "" "" "" "" "" "" "" "" ];
|
||
tooltip = false;
|
||
};
|
||
network = {
|
||
format-wifi = "";
|
||
format-ethernet = "";
|
||
format-linked = "";
|
||
format-disconnected = "";
|
||
format-alt = "{ifname}: {ipaddr}/{cidr}";
|
||
tooltip = false;
|
||
};
|
||
wireplumber = {
|
||
format = "{icon}";
|
||
format-muted = "";
|
||
on-click = "${pkgs.pavucontrol}/bin/pavucontrol";
|
||
format-icons = [ "" "" "" ];
|
||
tooltip = false;
|
||
};
|
||
bluetooth = {
|
||
format = "";
|
||
format-connected = "";
|
||
format-disabled = "";
|
||
format-off = "";
|
||
on-click = "${pkgs.blueberry}/bin/blueberry";
|
||
tooltip = false;
|
||
};
|
||
tray = {
|
||
spacing = 4;
|
||
};
|
||
"custom/notification" = let swaync-client = "${pkgs.swaynotificationcenter}/bin/swaync-client"; in {
|
||
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 = "${swaync-client} -swb";
|
||
on-click = "${swaync-client} -d -sw";
|
||
};
|
||
};
|
||
};
|
||
};
|
||
}
|