2025-04-06 22:12:07 +02:00
|
|
|
{
|
|
|
|
pkgs,
|
|
|
|
config,
|
|
|
|
...
|
|
|
|
}: {
|
|
|
|
programs.waybar = {
|
|
|
|
enable = true;
|
|
|
|
package = pkgs.waybar;
|
|
|
|
settings = {
|
|
|
|
mainBar = {
|
|
|
|
layer = "top";
|
|
|
|
position = "top";
|
|
|
|
height = 30;
|
|
|
|
output = [
|
|
|
|
"eDP-1"
|
|
|
|
"DP-1"
|
|
|
|
"HDMI-A-1"
|
|
|
|
"Virtual-1"
|
|
|
|
];
|
|
|
|
|
2025-04-06 22:45:18 +02:00
|
|
|
modules-left = [
|
|
|
|
"custom/smallspacer"
|
|
|
|
"hyprland/workspaces"
|
|
|
|
"custom/spacer"
|
|
|
|
"mpris"
|
|
|
|
];
|
|
|
|
|
|
|
|
modules-center = [
|
|
|
|
"custom/weather"
|
|
|
|
];
|
|
|
|
|
2025-04-06 22:31:08 +02:00
|
|
|
modules-right = [ ];
|
2025-04-06 22:12:07 +02:00
|
|
|
|
2025-04-06 22:45:18 +02:00
|
|
|
# Widgets
|
2025-04-06 22:12:07 +02:00
|
|
|
"sway/workspaces" = {
|
|
|
|
disable-scroll = true;
|
|
|
|
all-outputs = true;
|
|
|
|
};
|
2025-04-06 22:45:18 +02:00
|
|
|
|
|
|
|
mpris = {
|
|
|
|
format = "{player_icon} {dynamic}";
|
|
|
|
format-paused = "<span color='grey'>{status_icon} {dynamic}</span>";
|
|
|
|
max-length = 100;
|
|
|
|
|
|
|
|
player-icons = {
|
|
|
|
default = "⏸";
|
|
|
|
mpv = "🎵";
|
|
|
|
};
|
|
|
|
|
|
|
|
status-icons: {
|
|
|
|
paused = "▶";
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
"hyprland/workspaces" = {
|
|
|
|
format = "{icon}";
|
|
|
|
format-icons = {
|
|
|
|
default = "";
|
|
|
|
active = "";
|
|
|
|
};
|
|
|
|
};
|
2025-04-06 22:12:07 +02:00
|
|
|
|
2025-04-06 22:45:18 +02:00
|
|
|
# Custom Widgets
|
2025-04-06 22:19:50 +02:00
|
|
|
"custom/weather" = {
|
|
|
|
exec = "python3 ~/.config/waybar/weather.py waybar";
|
|
|
|
restart-interval = 900;
|
|
|
|
return-type = "json";
|
|
|
|
};
|
2025-04-06 22:12:07 +02:00
|
|
|
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
home.file.".config/waybar" = {
|
2025-04-06 22:19:50 +02:00
|
|
|
source = ./configs;
|
2025-04-06 22:12:07 +02:00
|
|
|
# copy the scripts directory recursively
|
2025-04-06 22:19:50 +02:00
|
|
|
recursive = true;
|
2025-04-06 22:12:07 +02:00
|
|
|
};
|
|
|
|
}
|