1
0
Fork 0
forked from foxora/nix
flake-foxora/homes/modules/de/waybar/waybar.nix

100 lines
2.6 KiB
Nix

{upkgs, ...}: {
programs.waybar = {
enable = true;
settings = {
mainBar = {
layer = "top";
position = "top";
height = 20;
modules-left = ["hyprland/workspaces" "wlr/taskbar" "custom/media"];
modules-center = ["clock"];
modules-right = ["cpu" "memory" "network" "pulseaudio" "privacy" "tray"];
# left
"hyprland/workspaces" = {
format = "{id}";
};
"wlr/taskbar" = {
format = "{icon}";
icon-size = 12;
};
"custom/media" = {
exec = "auroramedia";
return-type = "json";
escape = true;
restart-interval = 1;
};
# center
"clock" = {
format = "{:%Y %b %a %d %H:%M:%S}";
interval = 1;
tooltip = false;
};
# right
"cpu" = {
format = " {usage}%";
interval = 1;
};
"memory" = {
format = " {used:0.1f} / {total:0.1f} GiB";
interval = 1;
};
"network" = {
format = "{bandwidthUpBytes} {bandwidthDownBytes} {ifname}";
format-wifi = " {bandwidthUpBytes} {bandwidthDownBytes} ";
format-ethernet = "󰈀 {bandwidthUpBytes} {bandwidthDownBytes} ";
format-disconnected = "no internet ~ rawr! ~ x3"; # 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;
};
# i only enable this for debugging of window rules lol
"hyprland/window" = {
format = "{class} | {title}";
};
};
};
style = upkgs.writeTextFile {
name = "waybar-style.css";
text = builtins.readFile ./style.css;
};
};
}