home-manager/waybar.nix
2023-07-23 05:04:32 +02:00

114 lines
2.9 KiB
Nix

{
pkgs,
enable,
}: {
inherit enable;
package = pkgs.waybar-hyprland;
settings = {
mainBar = {
layer = "top";
height = 30;
modules-left = ["wlr/workspaces"];
modules-center = ["clock"];
modules-right = ["pulseaudio" "memory" "cpu" "tray"];
"hyprland/workspaces" = {
format = "{icon}";
on-click = "activate";
on-scroll-up = "hyprctl dispatch workspace e+1";
on-scroll-down = "hyprctl dispatch workspace e-1";
#format-icons = {
# "1" = "";
# "2" = "";
# "3" = "";
# "4" = "";
# "5" = "";
# urgent = "";
# active = "";
# default = "";
#};
sort-by-number = true;
};
"wlr/window" = {
max-length = 50;
};
mpris = {
format = "DEFAULT: {player_icon} {dynamic}";
format-paused = "DEFAULT: {status_icon} <i>{dynamic}</i>";
player-icons = {
default = "";
mpv = "🎵";
};
status-icons = {
paused = "";
};
};
pulseaudio = {
format = "{volume}% {icon}";
format-bluetooth = " {volume}% {icon}";
format-muted = "";
format-icons = {
headphone = "";
hands-free = "";
headset = "";
phone = "";
portable = "";
car = "";
default = ["" ""];
};
scroll-step = 1;
on-click = "pavucontrol";
ignored-sinks = ["Easy Effects Sink"];
};
cpu = {
interval = 10;
format = " {load}% {icon}";
format-icons = ["" "" "" "" "" "" "" ""];
};
memory = {
interval = 30;
format = " {used:0.1f}G / {total:0.1f}G";
};
clock = {
# TODO: Fix that calendar width is too small
format = "{:%H:%M} ";
format-alt = "{:%A, %B %d, %Y (%R)}";
tooltip-format = "<tt><small>{calendar}</small></tt>";
calendar = {
mode = "year";
mode-mon-col = 3;
weeks-pos = "right";
on-scroll = 1;
on-click-right = "mode";
format = {
months = "<span color='#ffead3'><b>{}</b></span>";
days = "<span color='#ecc6d9'><b>{}</b></span>";
weeks = "<span color='#99ffdd'><b>W{}</b></span>";
weekdays = "<span color='#ffcc66'><b>{}</b></span>";
today = "<span color='#ff6699'><b><u>{}</u></b></span>";
};
};
actions = {
on-click-right = "mode";
on-click-forward = "tz_up";
on-click-backward = "tz_down";
on-scroll-up = "shift_up";
on-scroll-down = "shift_down";
};
};
tray = {
"icon-size" = 21;
"spacing" = 10;
};
};
};
}