linuxware/programs/waybar.nix

242 lines
5.6 KiB
Nix
Raw Normal View History

2024-03-15 23:39:44 -03:00
{ ... }:
2023-11-05 04:53:31 -03:00
{
programs.waybar = {
enable = true;
settings = {
mainBar = {
layer = "top";
2024-03-15 23:39:44 -03:00
margin = "10px 10px 0";
height = 30;
2023-11-05 04:53:31 -03:00
modules-left = [
"hyprland/workspaces"
2024-03-15 23:39:44 -03:00
];
modules-center = [
"clock"
2023-11-05 04:53:31 -03:00
];
modules-right = [
"pulseaudio"
"network"
"memory"
"cpu"
"temperature"
"battery"
"hyprland/language"
"tray"
2023-11-05 04:53:31 -03:00
];
2024-03-15 23:39:44 -03:00
"hyprland/workspaces" = {
format = "{icon}";
2023-11-05 04:53:31 -03:00
2024-03-15 23:39:44 -03:00
format-icons = {
active = "";
default = "";
empty = "";
persistent = "";
special = "";
urgent = "";
2023-11-05 04:53:31 -03:00
};
};
2024-03-15 23:39:44 -03:00
clock = {
format = "{:%H:%M} ";
format-alt = "{:%A; %B %d, %Y (%R)} ";
tooltip-format = "<tt><small>{calendar}</small></tt>";
calendar = {
mode = "month";
mode-mon-col = 3;
weeks-pos = "right";
on-scroll = 1;
on-click-right = "mode";
format = {
months = "<span color='#e5c890'><b>{}</b></span>";
days = "<span color='#c6d0f5'><b>{}</b></span>";
weeks = "<span color='#81c8be'><b>W{}</b></span>";
weekdays = "<span color='#ef9f76'><b>{}</b></span>";
today = "<span color='#a6d189'><b><u>{}</u></b></span>";
};
actions = {
on-click-backward = "tz_down";
on-click-forward = "tz_up";
on-click-right = "mode";
on-scroll-down = "shift_down";
on-scroll-up = "shift_up";
};
2023-11-05 04:53:31 -03:00
};
};
pulseaudio = {
format = "{icon} {volume}%";
format-bluetooth = "{icon} {volume}%";
format-muted = "";
format-icons = {
headphone = "";
hands-free = "";
headset = "";
phone = "";
portable = "";
car = "";
default = [
""
""
2023-11-05 04:53:31 -03:00
];
};
scroll-step = 1;
on-click = "pactl set-sink-mute @DEFAULT_SINK@ toggle";
tooltip = false;
};
2024-03-15 23:39:44 -03:00
network = {
interval = 5;
format = " {bandwidthUpBits} 󰇙 {bandwidthDownBits} ";
format-disconnected = " No connection";
tooltip-format-wifi = " {essid} ({signalStrength}%)";
};
memory = {
interval = 5;
format = " {percentage}%";
states = {
warning = 70;
critical = 90;
};
"tooltip-format" = " {used:0.1f}G/{total:0.1f}G";
};
cpu = {
interval = 5;
tooltip = false;
format = " {usage}%";
format-alt = " {load}";
states = {
warning = 70;
critical = 90;
};
};
2023-11-05 04:53:31 -03:00
temperature = {
critical-threshold = 90;
interval = 5;
format = "{icon} {temperatureC}°";
format-icons = [
""
""
""
""
""
2023-11-05 04:53:31 -03:00
];
tooltip = false;
};
2024-03-15 23:39:44 -03:00
# Module configuration
battery = {
interval = 10;
states = {
warning = 30;
critical = 15;
};
2023-11-05 04:53:31 -03:00
2024-03-15 23:39:44 -03:00
format-time = "{H}:{M:02}";
format = "{icon} {capacity}% ({time})";
format-charging = " {capacity}% ({time})";
format-charging-full = " {capacity}%";
format-full = "{icon} {capacity}%";
format-alt = "{icon} {power}W";
format-icons = [
""
""
""
""
""
];
2023-11-05 04:53:31 -03:00
tooltip = false;
};
2024-03-15 23:39:44 -03:00
"hyprland/language" = {
format = " {}";
format-en = "EN/US";
format-pt-br = "PT/BR";
#"on-click" = "hyprctl switchxkblayout www.hfd.cn-monsgeek-keyboard-1 next";
2023-11-05 04:53:31 -03:00
tooltip = false;
};
2024-03-15 23:39:44 -03:00
tray = {
icon-size = 18;
spacing = 10;
2023-11-05 04:53:31 -03:00
};
};
};
style = ''
2024-03-15 23:39:44 -03:00
/* Using https://github.com/catppuccin/catppuccin for color reference. */
2023-11-05 04:53:31 -03:00
/* Keyframes */
@keyframes blink-critical {
to {
/*color: @white;*/
background-color: @critical;
}
}
* {
2024-03-15 23:39:44 -03:00
all: unset;
color: #c6d0f5;
font-family: "FantasqueSansM Nerd Font", 'Courier New', Courier, monospace;
font-size: 16px;
2023-11-05 04:53:31 -03:00
}
2024-03-15 23:39:44 -03:00
.modules-left,
.modules-right,
.modules-center {
padding: 0 20px;
border-radius: 10px;
background-color: rgba(48, 52, 70, 0.85);
2023-11-05 04:53:31 -03:00
}
2024-03-15 23:39:44 -03:00
tooltip {
background-color: rgba(48, 52, 70, 0.85);
border-radius: 10px;
padding: 8px;
2023-11-05 04:53:31 -03:00
}
2024-03-15 23:39:44 -03:00
tooltip label {
color: #c6d0f5;
2023-11-05 04:53:31 -03:00
}
2024-03-15 23:39:44 -03:00
#workspaces {
margin-left: -5px;
padding-left: 0px;
2023-11-05 04:53:31 -03:00
}
#workspaces button {
2024-03-15 23:39:44 -03:00
margin: 0 8px;
2023-11-05 04:53:31 -03:00
}
#workspaces button:hover {
2024-03-15 23:39:44 -03:00
background: #414559;
border: none;
2023-11-05 04:53:31 -03:00
}
2024-03-15 23:39:44 -03:00
#clock {
padding: 0 10px;
2023-11-05 04:53:31 -03:00
}
2024-03-15 23:39:44 -03:00
#network, #cpu, #memory, #language, #temperature, #pulseaudio {
margin: 0 8px;
2023-11-05 04:53:31 -03:00
}
#tray {
2024-03-15 23:39:44 -03:00
margin-left: 8px;
2023-11-05 04:53:31 -03:00
}
2024-03-15 23:39:44 -03:00
#tray menu {
background-color: rgba(48, 52, 70, 0.85);
border-radius: 10px;
padding: 8px;
2023-11-05 04:53:31 -03:00
}
'';
};
}