2025-04-06 22:12:07 +02:00
|
|
|
|
{
|
|
|
|
|
pkgs,
|
|
|
|
|
config,
|
|
|
|
|
...
|
2025-04-07 23:13:13 +02:00
|
|
|
|
} : {
|
2025-04-06 22:12:07 +02:00
|
|
|
|
programs.waybar = {
|
|
|
|
|
enable = true;
|
|
|
|
|
package = pkgs.waybar;
|
2025-04-07 23:13:13 +02:00
|
|
|
|
settings = {
|
2025-04-06 22:12:07 +02:00
|
|
|
|
mainBar = {
|
|
|
|
|
layer = "top";
|
|
|
|
|
position = "top";
|
|
|
|
|
height = 30;
|
2025-04-07 23:13:13 +02:00
|
|
|
|
output = [ "DP-1" ];
|
|
|
|
|
|
|
|
|
|
modules-left = [
|
|
|
|
|
"hyprland/workspaces"
|
|
|
|
|
"mpris"
|
2025-04-06 22:12:07 +02:00
|
|
|
|
];
|
|
|
|
|
|
2025-04-07 23:13:13 +02:00
|
|
|
|
modules-center = [];
|
|
|
|
|
|
|
|
|
|
modules-right = [
|
|
|
|
|
"network"
|
|
|
|
|
"memory"
|
|
|
|
|
"cpu"
|
|
|
|
|
"clock"
|
|
|
|
|
];
|
2025-04-06 22:12:07 +02:00
|
|
|
|
|
2025-04-07 23:13:13 +02:00
|
|
|
|
# Widgets
|
2025-04-06 22:12:07 +02:00
|
|
|
|
"sway/workspaces" = {
|
|
|
|
|
disable-scroll = true;
|
|
|
|
|
all-outputs = true;
|
|
|
|
|
};
|
2025-04-07 23:13:13 +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 = "";
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
network = {
|
|
|
|
|
tooltip = true;
|
|
|
|
|
format-wifi = "{icon} ";
|
|
|
|
|
format-icons = ["" "" ""];
|
|
|
|
|
rotate = 0;
|
|
|
|
|
format-ethernet = " ";
|
|
|
|
|
tooltip-format = "Network: <big><b>{essid}</b></big>\nSignal strength: <b>{signaldBm}dBm ({signalStrength}%)</b>\nFrequency: <b>{frequency}MHz</b>\nInterface: <b>{ifname}</b>\nIP: <b>{ipaddr}/{cidr}</b>\nGateway: <b>{gwaddr}</b>\nNetmask: <b>{netmask}</b>";
|
|
|
|
|
format-linked = " {ifname} (No IP)";
|
|
|
|
|
format-disconnected = " ";
|
|
|
|
|
tooltip-format-disconnected = "Disconnected";
|
|
|
|
|
on-click = "/usr/local/bin/ags -t ControlPanel";
|
|
|
|
|
interval = 2;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
memory = {
|
|
|
|
|
interval = 1;
|
|
|
|
|
rotate = 270;
|
|
|
|
|
format = "{icon}";
|
|
|
|
|
format-icons = ["" "" "" "" "" "" "" "" ""];
|
|
|
|
|
max-length = 10;
|
2025-04-06 22:12:07 +02:00
|
|
|
|
};
|
2025-04-07 23:13:13 +02:00
|
|
|
|
|
|
|
|
|
cpu = {
|
|
|
|
|
interval = 1;
|
|
|
|
|
format = "{icon}";
|
|
|
|
|
rotate = 270;
|
|
|
|
|
format-icons = ["" "" "" "" "" "" "" "" ""];
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
clock = {
|
|
|
|
|
format = "{:%I:%M %p}";
|
|
|
|
|
rotate = 0;
|
|
|
|
|
on-click = "/usr/local/bin/ags -t ActivityCenter";
|
|
|
|
|
tooltip-format = "<tt>{calendar}</tt>";
|
|
|
|
|
|
|
|
|
|
calendar = {
|
|
|
|
|
mode = "month";
|
|
|
|
|
mode-mon-col = 3;
|
|
|
|
|
on-scroll = 1;
|
|
|
|
|
on-click-right = "mode";
|
|
|
|
|
format = {
|
|
|
|
|
months = "<span color='#ffead3'><b>{}</b></span>";
|
|
|
|
|
weekdays = "<span color='#ffcc66'><b>{}</b></span>";
|
|
|
|
|
today = "<span color='#ff6699'><b>{}</b></span>";
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
actions = {
|
|
|
|
|
on-click-right = "mode";
|
|
|
|
|
on-click-forward = "tz_up";
|
|
|
|
|
on-click-backward = "tz_down";
|
|
|
|
|
on-scroll-up = "shift_up";
|
|
|
|
|
on-scroll-down = "shift_down";
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
|
2025-04-06 22:12:07 +02:00
|
|
|
|
};
|
2025-04-07 23:13:13 +02:00
|
|
|
|
|
|
|
|
|
secondBar = {
|
|
|
|
|
layer = "top";
|
|
|
|
|
position = "top";
|
|
|
|
|
height = 30;
|
|
|
|
|
output = [
|
|
|
|
|
"HDMI-A-2"
|
|
|
|
|
];
|
|
|
|
|
|
|
|
|
|
modules-left = [
|
|
|
|
|
"hyprland/workspaces"
|
|
|
|
|
];
|
|
|
|
|
|
|
|
|
|
modules-center = [
|
|
|
|
|
"custom/weather"
|
|
|
|
|
];
|
|
|
|
|
|
|
|
|
|
modules-right = [
|
|
|
|
|
"network"
|
|
|
|
|
];
|
|
|
|
|
|
|
|
|
|
"hyprland/workspaces" = {
|
|
|
|
|
format = "{icon}";
|
|
|
|
|
format-icons = {
|
|
|
|
|
default = "";
|
|
|
|
|
active = "";
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
"custom/weather" = {
|
|
|
|
|
exec = "python3 ~/.config/waybar/weather.py waybar";
|
|
|
|
|
restart-interval = 900;
|
|
|
|
|
return-type = "json";
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
network = {
|
|
|
|
|
tooltip = true;
|
|
|
|
|
format-wifi = "{icon} ";
|
|
|
|
|
format-icons = ["" "" ""];
|
|
|
|
|
rotate = 0;
|
|
|
|
|
format-ethernet = "{bandwidthTotalBits} {bandwidthUpBits} {bandwidthDownBits} ";
|
|
|
|
|
tooltip-format = "Network: <big><b>{essid}</b></big>\nSignal strength: <b>{signaldBm}dBm ({signalStrength}%)</b>\nFrequency: <b>{frequency}MHz</b>\nInterface: <b>{ifname}</b>\nIP: <b>{ipaddr}/{cidr}</b>\nGateway: <b>{gwaddr}</b>\nNetmask: <b>{netmask}</b>";
|
|
|
|
|
format-linked = " {ifname} (No IP)";
|
|
|
|
|
format-disconnected = " ";
|
|
|
|
|
tooltip-format-disconnected = "Disconnected";
|
|
|
|
|
on-click = "/usr/local/bin/ags -t ControlPanel";
|
|
|
|
|
interval = 2;
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
};
|
2025-04-06 22:12:07 +02:00
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
home.file.".config/waybar" = {
|
|
|
|
|
source = ./configs;
|
|
|
|
|
# copy the scripts directory recursively
|
|
|
|
|
recursive = true;
|
|
|
|
|
};
|
|
|
|
|
}
|