nix/modules/home/desktop/sway/waybar.nix

217 lines
5.3 KiB
Nix

_: {
programs.waybar = {
enable = true;
systemd = {
enable = true;
target = "sway-session.target";
};
settings = {
mainbar = {
layer = "top";
spacing = 6;
disable-toolptips = true;
modules-center = [];
modules-left = [
"sway/workspaces"
"sway/mode"
];
modules-right = [
"network"
"custom/sep"
"memory"
"cpu"
"custom/sep"
"pulseaudio"
"custom/sep"
"clock"
"custom/sep"
"tray"
];
"clock" = {
"format-alt" = "{:%Y-%m-%d}";
"timezone" = "Europe/Paris";
"tooltip" = false;
};
"cpu" = {
"format" = "{usage}% {icon}";
"format-icons" = [ "" ];
"states" = {
"critical" = 90;
"warning" = 70;
};
"tooltip" = false;
};
"custom/sep" = {
"format" = "|";
"tooltip" = false;
};
"idle_inhibitor" = {
"format" = "{icon}";
"format-icons" = {
"activated" = "";
"deactivated" = "";
};
};
"memory" = {
"format" = "{used:0.1f}G/{total:0.1f}G ";
"interval" = 30;
"states" = {
"critical" = 90;
"warning" = 70;
};
};
"network" = {
"format-alt" = "{ifname}: {ipaddr}/{cidr}";
"format-disconnected" = "Disconnected ";
"format-ethernet" = "{ifname}: {ipaddr}/{cidr} 󰈀 ";
"format-linked" = "{ifname} (No IP) 󰈀 ";
"format-wifi" = "{essid} ({signalStrength}%) ";
"tooltip" = false;
};
"pulseaudio" = {
"format" = "{format_source} {volume}% {icon} ";
"format-bluetooth" = "{volume}% {icon}";
"format-icons" = {
"car" = "";
"default" = "";
"handsfree" = "󰋎";
"headphones" = "󰋋";
"headset" = "󰋎";
"phone" = "";
"portable" = "";
};
"format-muted" = "{format_source} 󰝟 ";
"format-source" = "{volume}% ";
"format-source-muted" = " ";
"tooltip" = false;
};
"sway/mode" = {
"format" = "<span style=\"italic\">{}</span>";
};
"sway/workspace" = {
"disable-scroll" = true;
};
"temperature" = {
"critical-threshold" = 80;
"format" = "{temperatureC}°C ";
"thermal-zone" = "6";
};
};
};
style = ''
@define-color color-base-bg #323232;
@define-color color-base-fg #ddd;
@define-color color-hover #f268b3;
@define-color color-selected #1cd180;
@define-color color-ok #1cd180;
@define-color color-warning #f2b768;
@define-color color-critical #f268b3;
* {
border: none;
border-radius: 0;
min-height:0;
}
window#waybar {
background: @color-base-bg ;
color: @color-base-fg;
font-family: "Fira Code Nerd Font";
font-size: 12px;
}
button,
button:disabled,label:disabled{
color:inherit;
}
button:hover{
background:none;
box-shadow:inherit;
box-shadow:inherit;
text-shadow:inherit;
text-shadow:inherit;
border-top:none;
}
#workspaces {
color:#fff;
}
#workspaces button {
margin:0 3px;
padding:4px 4px;
color:#9c9c9c;
border-bottom: 1px solid transparent;
}
#workspaces button:hover {
box-shadow:inherit;
text-shadow:inherit;
color: @color-hover;
border-bottom: 1px solid @color-hover;
}
#workspaces button.focused {
background:#1cd180 ;
color:#000;
}
#workspaces button.visible:not(.focused) {
color: @color-selected;
border-color: @color-selected;
}
#clock,
#cpu,
#memory,
#backlight,
#network,
#tray,
#mode,
#battery,
#idle_inhibitor {
padding: 2px 4px;
margin: 0;
background-color: transparent;
}
#mode{
background:@color-warning;
font-weight:bold;
}
#pulseaudio {}
#pulseaudio.muted {
color:@color-critical;
}
#battery.discharging {
color: @color-base-fg;
border-bottom: none;
}
#battery.charging, #battery.plugged {
border-bottom: 1px solid @color-ok;
color: @color-selected;
}
#battery.critical:not(.charging),
#cpu.critical,
#memory.critical{
border-color: @color-critical;
color: @color-critical;
}
#battery.warning:not(.charging),
#cpu.warning,
#memory.warning{
border-color: @color-warning;
color: @color-warning;
}
#tray {
font-family: "DejaVu sans";
font-size: 12px;
}
'';
};
}