2023-05-23 18:11:30 +02:00
|
|
|
{
|
2023-07-05 15:55:04 +02:00
|
|
|
pkgs,
|
|
|
|
config,
|
|
|
|
repoFlake,
|
|
|
|
...
|
2024-11-15 10:17:56 +01:00
|
|
|
}:
|
|
|
|
{
|
2023-05-23 19:02:35 +02:00
|
|
|
home.packages = [
|
|
|
|
# required by any bar that has a tray plugin
|
|
|
|
pkgs.libappindicator-gtk3
|
2023-05-25 11:30:03 +02:00
|
|
|
pkgs.libdbusmenu-gtk3
|
2023-05-23 19:02:35 +02:00
|
|
|
];
|
|
|
|
|
2023-05-23 18:11:30 +02:00
|
|
|
programs.waybar = {
|
|
|
|
enable = true;
|
2024-11-15 10:17:56 +01:00
|
|
|
package =
|
|
|
|
repoFlake.inputs.nixpkgs-wayland.outputs.packages.${pkgs.stdenv.hostPlatform.system}.waybar;
|
|
|
|
style = pkgs.lib.readFile "${pkgs.waybar.src}/resources/style.css" + pkgs.lib.readFile ./waybar.css;
|
2023-05-23 18:11:30 +02:00
|
|
|
systemd.enable = true;
|
|
|
|
settings = {
|
|
|
|
mainBar = {
|
|
|
|
layer = "top";
|
|
|
|
position = "bottom";
|
|
|
|
height = 30;
|
2024-10-09 00:02:32 +02:00
|
|
|
output =
|
|
|
|
# hide the bar on HEADDLESS displays as i use them only for screensharing
|
2024-11-15 10:17:56 +01:00
|
|
|
(builtins.genList (i: "!HEADLESS-${builtins.toString i}") 99) ++ [ "*" ];
|
2023-05-23 18:11:30 +02:00
|
|
|
# output = [
|
|
|
|
# "eDP-1"
|
|
|
|
# "DP-*"
|
|
|
|
# ];
|
2023-05-23 18:09:54 +02:00
|
|
|
|
2023-05-23 18:11:30 +02:00
|
|
|
modules-left = [
|
|
|
|
"sway/workspaces"
|
|
|
|
"sway/mode"
|
|
|
|
# "wlr/taskbar"
|
|
|
|
];
|
2023-05-23 18:09:54 +02:00
|
|
|
|
2023-05-23 18:11:30 +02:00
|
|
|
"sway/workspaces" = {
|
|
|
|
disable-scroll = true;
|
|
|
|
all-outputs = false;
|
|
|
|
};
|
2023-05-23 18:09:54 +02:00
|
|
|
|
2023-07-05 15:55:04 +02:00
|
|
|
modules-center = [
|
2023-05-23 18:11:30 +02:00
|
|
|
"sway/window"
|
|
|
|
# "custom/hello-from-waybar"
|
|
|
|
];
|
|
|
|
|
2023-07-05 15:55:04 +02:00
|
|
|
modules-right = [
|
2023-05-23 18:11:30 +02:00
|
|
|
"tray"
|
|
|
|
|
|
|
|
"cpu"
|
|
|
|
"memory"
|
2023-05-25 11:29:46 +02:00
|
|
|
"custom/cputemp"
|
2023-05-23 18:11:30 +02:00
|
|
|
"custom/fan"
|
|
|
|
"battery"
|
|
|
|
"pulseaudio"
|
|
|
|
"clock"
|
|
|
|
"clock#date"
|
|
|
|
];
|
2023-05-23 18:09:54 +02:00
|
|
|
|
2023-05-23 18:11:30 +02:00
|
|
|
tray.spacing = 10;
|
2023-05-23 18:09:54 +02:00
|
|
|
|
2023-07-05 15:55:04 +02:00
|
|
|
cpu.format = " {usage}%";
|
2023-05-23 18:11:30 +02:00
|
|
|
memory.format = " {}%";
|
2023-07-05 15:55:04 +02:00
|
|
|
"temperature" = {
|
2023-05-23 18:11:30 +02:00
|
|
|
hwmon-path = "/sys/class/hwmon/hwmon3/temp1_input";
|
|
|
|
format = " {temperatureC} °C";
|
|
|
|
};
|
2023-05-23 18:09:54 +02:00
|
|
|
|
2023-05-25 11:29:46 +02:00
|
|
|
"custom/cputemp" = {
|
2023-07-05 15:55:04 +02:00
|
|
|
format = " {}";
|
|
|
|
exec = "${pkgs.lm_sensors}/bin/sensors | ${pkgs.gawk}/bin/awk '/CPU:/ {print $2}'";
|
|
|
|
interval = 2;
|
2023-05-25 11:29:46 +02:00
|
|
|
};
|
|
|
|
"custom/fan" = {
|
2023-07-05 15:55:04 +02:00
|
|
|
format = " {} rpm ";
|
|
|
|
exec = "${pkgs.lm_sensors}/bin/sensors | ${pkgs.gawk}/bin/awk '/fan1:/ {print $2}'";
|
|
|
|
interval = 2;
|
2023-05-23 18:11:30 +02:00
|
|
|
};
|
|
|
|
battery.format = "🔋 {}%";
|
|
|
|
pulseaudio = {
|
|
|
|
format = "🔉 {volume}%";
|
|
|
|
# on-click-middle = ''${pkgs.sway}/bin/swaymsg exec "${pkgs.pavucontrol}/bin/pavucontrol"'';
|
|
|
|
};
|
|
|
|
clock.format = "{:%H:%M %p}";
|
2023-05-25 11:29:46 +02:00
|
|
|
"clock#date".format = "{:%a, %d %b '%y}";
|
2023-05-23 18:09:54 +02:00
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
}
|