liminalOS/users/youwen/linux/waybar/laptop/default.nix

91 lines
2.8 KiB
Nix

{
programs.waybar = {
enable = true;
settings = {
mainBar = {
layer = "top";
position = "top";
height = 24;
# width = 1000;
reload-style-on-change = true;
margin = "5px 0px 0px 0px";
modules-left = [ "hyprland/window" "hyprland/workspaces" "network" "clock" ];
modules-right = [ "group/hardware" "backlight" "group/adjustable" "custom/weather" ];
# modules-center = [ "network" "group/hardware" "clock" ];
"hyprland/workspaces" = {
active-only = false;
all-outputs = false;
format = "{icon}";
persistent-workspaces = {
eDP-1 = [ 1 ];
DP-1 = [ 2 3 4 5 ];
};
};
"group/hardware" = {
orientation = "inherit";
modules = [ "cpu" "battery" ];
};
"group/adjustable" = {
orientation = "inherit";
drawer = {
transition-duration = 500;
transition-left-to-right = true;
};
modules = [ "pulseaudio" "mpris" ];
};
"custom/weather" = {
orientation = "horizontal";
exec = ''curl wttr.in/?format="%l:%20%t"'';
interval = 10;
};
cpu = {
interval = 10;
format = "{usage}% ";
};
memory = {
interval = 10;
format = "{percentage}% ";
};
# mpris = {
# format-playing = "  {title} ";
# format-paused = " 󰏤 {title} ";
# format-stopped = "Nothing Playing";
# };
tray = { spacing = 10; };
clock = { format = "{:%a %b %d, %I:%M %p} "; };
backlight = {
device = "intel_backlight";
format = "{percent}% {icon}";
format-icons = [ "󰃞" "󰃠" ];
};
battery = {
states = {
good = 95;
warning = 20;
critical = 10;
};
format = "{capacity}% {icon}";
format-icons = [ "󰁻" "󰁽" "󰁿" "󰂀" "󰁹" ];
};
"hyprland/window" = { format = "{class}"; };
network = {
format-wifi = "{essid} ";
format-linked = "{ifname} (No IP) ";
format-disconnected = "Disconnected ";
format-alt = "{ifname}: {ipaddr}/{cidr}";
};
pulseaudio = {
format = "{volume}% {icon} {format_source}";
format-bluetooth = "{volume}% {icon} {format_source}";
format-bluetooth-muted = " {icon} {format_source}";
format-muted = " {format_source}";
format-source = "{volume}% ";
format-source-muted = "";
format-icons = { default = [ "" "" "" ]; };
};
};
};
style = ./waybar.css;
systemd.enable = true;
};
}