flake/homes/modules/de/waybar/default.nix
2026-03-27 11:39:05 +10:00

91 lines
2.4 KiB
Nix

{...}: {
programs.waybar = {
enable = true;
settings = {
mainBar = {
layer = "top";
position = "top";
height = 30;
modules-left = ["hyprland/workspaces"];
modules-center = ["clock"];
modules-right = ["cpu" "memory" "network" "pulseaudio" "privacy" "tray"];
# left
"hyprland/workspaces" = {
format = "{id}";
};
"ext/workspaces" = {
# not enabled yet, hyprland and mango need two different configs ;-;
format = "{id}";
ignore-hidden = true;
on-click = "activate";
};
# center
"clock" = {
format = "{:%b %a | %d %r}";
interval = 1;
tooltip = false;
};
# right
"cpu" = {
format = " {usage}%";
interval = 1;
};
"memory" = {
format = " {used:0.1f} / {total:0.1f} GiB";
interval = 1;
};
"network" = {
format = "{bandwidthUpBits} {bandwidthDownBits} {ifname}";
format-wifi = " {bandwidthUpBits} {bandwidthDownBits} {ifname}";
format-ethernet = "󰈀 {bandwidthUpBits} {bandwidthDownBits} {ifname}";
format-disconnected = "no internet ~ rawr! ~ ;w;"; # empty format hides module
interval = 1;
max-length = 32;
};
"pulseaudio" = {
format = "{icon} {volume}%";
format-muted = " {volume}%";
format-icons = {
default = [
""
""
""
];
};
"scroll-step" = 5;
};
"privacy" = {
icon-size = 12;
icon-spacing = 5;
transition-duration = 200;
modules = [
{
type = "screenshare";
tooltip = true;
tooltip-icon-size = 12;
}
{
type = "audio-in";
tooltip = true;
tooltip-icon-size = 12;
}
];
};
"tray" = {
icon-size = 12;
spacing = 10;
# fixes spotify not showing up when "close button should minimize the Spotify window" is false
show-passive-items = true;
};
};
};
style =
builtins.readFile ./colors.css
+ builtins.readFile ./style.css;
};
}