Files
NixOS-Configs/home/hypr/waybar.nix

231 lines
6.9 KiB
Nix

{ pkgs, ... }:
{
programs.waybar = {
enable = true;
settings = {
mainBar = {
layer = "top";
modules-left = [ "custom/symbol" "cpu" "memory" "keyboard-state" "tray" ];
modules-center = [ "hyprland/workspaces" ];
modules-right = [ "idle_inhibitor" "backlight" "pulseaudio" "group/networks" "battery" "clock" ];
pulseaudio = {
tooltip = false;
scroll-step = 5;
format = "{icon} {volume}%";
format-muted = "󰝟 {volume}%";
on-click-right = "pactl set-sink-mute @DEFAULT_SINK@ toggle";
on-click = "pavucontrol";
format-icons = {
default = [
""
""
""
];
};
};
idle_inhibitor = {
format = "{icon}";
format-icons = {
activated = "";
deactivated = "";
};
};
"custom/network-symbol" = {
format = " ";
tooltip = false;
on-click = "nm-connection-editor";
};
"group/networks" = {
orientation = "inherit";
drawer = {
children-class = "drawer-network";
};
modules = [
"custom/network-symbol"
"network"
];
};
network = {
tooltip = false;
format-wifi = "{ipaddr} ({essid})";
format-ethernet = "{ipaddr}";
};
keyboard-state = {
numlock = true;
capslock = true;
format = {
numlock = "N {icon}";
capslock = "C {icon}";
};
format-icons = {
locked = " ";
unlocked = " ";
};
};
backlight = {
tooltip = false;
format = " {}%";
interval = 1;
on-scroll-up = "brightnessctl set +5%";
on-scroll-down = "brightnessctl set 5%-";
};
battery = {
states = {
good = 95;
warning = 30;
critical = 20;
};
format = "{icon} {capacity}%";
format-charging = " {capacity}%";
format-plugged = " {capacity}%";
format-alt = "{time} {icon}";
format-icons = [
""
""
""
""
""
];
};
tray = {
icon-size = 18;
spacing = 10;
};
clock = {
format = "{:%I:%M %p | %m/%d/%Y}";
};
cpu = {
interval = 15;
format = " {}%";
max-length = 10;
};
memory = {
interval = 30;
format = " {}%";
max-length = 10;
};
"custom/symbol" = {
format = " 󰣇 ";
tooltip = false;
};
"group/workspaces" = {
orientation = "inherit";
drawer = {
children-class = "drawer-workspace";
};
modules = [
"custom/symbol"
"hyprland/workspaces"
];
};
"hyprland/workspaces" = {
disable-scroll = true;
active-only = true;
format = "{name} [ {windows} ]";
window-rewrite-default = "";
format-window-separator = " ";
window-rewrite = {
"class<alacritty>" = "";
"class<foot>" = "";
"class<zathura>" = "";
"class<steam>" = "";
"class<Brave-browser>" = "";
"class<WebCord>" = "";
"class<Signal>" = "";
"class<zoom>" = "";
};
};
};
};
style = ''
* {
font-family: "SF Pro Display", "Font Awesome 6 Free", "JetBrainsMono Nerd Font";
font-size: 16px;
min-height: 10px;
color: #c0caf5;
background: transparent;
}
window#waybar {
background: rgba(255, 255, 255, 0.2);
border-radius: 5px;
}
#keyboard-state,
#pulseaudio,
#backlight,
#clock,
#memory,
#cpu,
#battery,
#custom-symbol,
#custom-network-symbol,
#privacy,
#tray,
#idle_inhibitor,
#workspaces button,
#workspaces button.active {
margin: 5px;
border-radius: 3px;
transition: none;
border-bottom: 3px solid #c0caf5;
}
#keyboard-state:hover,
#pulseaudio:hover,
#backlight:hover,
#clock:hover,
#memory:hover,
#cpu:hover,
#custom-symbol:hover,
#custom-network-symbol:hover,
#privacy:hover,
#tray:hover,
#idle_inhibitor:hover,
#workspaces button:hover {
border-bottom: 3px solid #0dd2e7;
}
#battery.charging,
#battery.plugged {
color: #c3e88d;
border-bottom: 3px solid #c3e88d;
}
#battery.critical:not(.charging) {
color: #ff757f;
border-bottom: 3px solid #ff757f;
}
#workspaces button.active,
#workspaces button.focus {
outline: none;
color: #0dd2e7;
text-shadow: none;
}
'';
};
home.packages = with pkgs; [
pavucontrol
networkmanagerapplet
];
}