nixfleet/hmModules/waybar/default.nix
Andrea Ciceri a394b9cefd
All checks were successful
/ test (push) Successful in 32s
Reformat everything
2024-09-20 11:37:17 +02:00

146 lines
3.8 KiB
Nix

{
pkgs,
lib,
...
}:
{
programs.waybar = {
enable = true;
systemd.enable = true;
style = builtins.readFile ./style.css;
settings = {
mainBar = {
ipc = true;
layer = "top";
position = "top";
height = 30;
modules-left = [
"wlr/mode"
"hyprland/workspaces"
];
modules-center = [ "wlr/window" ];
modules-right = [
"network"
"tray"
"pulseaudio"
"cpu"
"memory"
"temperature"
"backlight"
"battery"
"clock"
];
"hyprland/workspaces" = {
all-outputs = true;
disable-scroll-wraparound = true;
# format = "{icon}";
on-click = "activate";
# format-icons = {
# "1" = "";
# "2" = "";
# "3" = "";
# "9" = "ﬧ";
# urgent = "";
# };
# sort-by-number = true;
};
"wlr/mode" = {
tooltip = false;
};
"wlr/window" = {
max_length = 50;
};
tray = {
spacing = 10;
};
battery = {
format = "{capacity}% {icon}";
format-alt = "{time} {icon}";
format-charging = "{capacity}% ";
format-icons = [
" "
" "
" "
" "
" "
];
format-plugged = "{capacity}% ";
states = {
critical = 15;
warning = 30;
};
};
clock = {
format-alt = "{:%Y-%m-%d}";
tooltip-format = "{:%Y-%m-%d | %H:%M}";
};
cpu = {
format = "{usage}% ";
tooltip = false;
};
memory = {
format = "{}% ";
};
network = {
interval = 1;
format-alt = "{ifname}: {ipaddr}/{cidr}";
format-disconnected = "Disconnected ";
format-ethernet = "{ifname}: {ipaddr}/{cidr} 󰈀 up: {bandwidthUpBits:>4} down: {bandwidthDownBits:>4}";
format-linked = "{ifname} (No IP) ";
format-wifi = "{essid} ({signalStrength}%) {ipaddr}/{cidr} up: {bandwidthUpBits:>4} down: {bandwidthDownBits:>4}";
};
pulseaudio = {
format = "{volume}% {icon} {format_source}";
format-bluetooth = "{volume}% {icon} {format_source}";
format-bluetooth-muted = " {icon} {format_source}";
format-icons = {
car = "";
default = [
" "
" "
" "
];
handsfree = "";
headphones = " ";
headset = "";
phone = "";
portable = "";
};
format-muted = " {format_source}";
format-source = "{volume}% ";
format-source-muted = "";
on-click = "${pkgs.pavucontrol}/bin/pavucontrol";
};
"wlr/mode" = {
format = ''<span style="italic">{}</span>'';
};
temperature = {
critical-threshold = 80;
format = "{temperatureC}°C {icon}";
format-icons = [
""
""
""
];
hwmon-path = "/sys/class/hwmon/hwmon2/temp1_input"; # picard FIXME
# hwmon-path = "/sys/class/thermal/thermal_zone4/temp"; # thinkpad
};
backlight = {
device = "ddcci2";
format = "{percent}% {icon}";
format-icons = [
" "
" "
];
};
};
};
};
# waybar needs the hyprctl binary in PATH when started in hyprland
systemd.user.services.waybar.Service.Environment = "PATH=${lib.makeBinPath [ pkgs.hyprland ]}";
}