nix-config/home/hyprland/waybar/single-monitor.nix

139 lines
4.6 KiB
Nix
Raw Normal View History

2025-04-06 22:12:07 +02:00
{
2025-04-06 23:05:07 +02:00
pkgs;
config;
2025-04-06 22:12:07 +02:00
...
2025-04-06 23:05:07 +02:00
} = {
2025-04-06 22:12:07 +02:00
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 = [
"hyprland/workspaces"
"mpris"
];
modules-center = [
"custom/weather"
];
2025-04-06 23:05:07 +02:00
modules-right = [
"network"
"memory"
"cpu"
"clock"
];
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 = "🎵";
};
2025-04-06 23:05:07 +02:00
status-icons = {
2025-04-06 22:45:18 +02:00
paused = "";
};
};
"hyprland/workspaces" = {
format = "{icon}";
format-icons = {
default = "";
active = "";
};
};
2025-04-06 22:12:07 +02:00
2025-04-06 23:05:07 +02:00
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;
};
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: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
};
}