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

174 lines
6.0 KiB
Nix
Raw Permalink Normal View History

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;
};
}