FrameworkNix/programs/sway/waybar.nix

87 lines
2.2 KiB
Nix

{ config }:
let
config.colorScheme = import ../../theming/colorScheme.nix;
in
{
programs.waybar = {
enable = true;
settings = {
mainBar = {
layer = "top";
position = "top";
height = 20;
modules-left = [ "sway/workspaces" "sway/mode" ];
"sway/workspaces" = {
disable-scroll = true;
all-outputs = true;
};
modules-center = [ "clock" ];
"clock" = {
interval = 1;
format = "{:%H:%M:%S}";
format-alt = "{ %A, %d %B, %Y}";
tooltip-format = "<big>{:%d %B, %Y}</big>\n<tt><small>{calendar}</small></tt>";
};
modules-right = [ "backlight" "pulseaudio" "network" "battery" ];
"backlight" = {
format = "L{percent}% ";
scroll-step = 1.0;
};
"pulseaudio" = {
format = "A{volume}% ";
format-muted = "Muted ";
on-scroll-up = "pamixer -i 1";
on-scroll-down = "pamixer -d 1";
};
"network" = {
format-wifi = "W{signalStrength} ";
format-ethernet = "E{signalStrength} ";
format-disconnected = "Offline ";
tooltip-format = "{ifname}: {ipaddr}";
tooltip-format-wifi = "{essid} ({signalStrength}%): {ipaddr}";
};
"battery" = {
states = {
warning = 30;
critical = 15;
};
format = "B{capacity}% ";
format-alt = "{time} {icon}";
};
};
};
style = ''
* {
border: none;
border-radius: 0;
font-family: monospace;
}
window#waybar {
background: ${config.colorScheme.palette.base00};
color: ${config.colorScheme.palette.base09};
}
#workspaces button {
padding: 0 5px;
background-color: ${config.colorScheme.palette.base04};
color: ${config.colorScheme.palette.base09};
}
#workspaces button:hover {
background: ${config.colorScheme.palette.base05};
color: ${config.colorScheme.palette.base09};
}
#workspaces button.focused {
background: ${config.colorScheme.palette.base06};
color: ${config.colorScheme.palette.base09};
}
'';
};
}