Files
nixos-config/modules/users/psljr/waybar.nix
2025-10-27 09:14:51 -05:00

163 lines
4.1 KiB
Nix

# ./modules/users/psljr/waybar.nix
# Configure the waybar status bar for user psljr
{ config, pkgs, ... }:
{
home-manager.users.psljr = { pkgs, ... }: {
programs.waybar = {
enable = true;
settings = {
mainBar = {
layer = "top";
position = "top";
spacing = 4;
# Define waybar modules
modules-left = [
"hyprland/window"
];
# modules-center = [];
modules-right = [
"idle_inhibitor"
"network"
"bluetooth"
"cpu"
"memory"
"battery"
"clock"
];
# Module configuration
"idle_inhibitor" = {
format = "{icon}";
format-icons = {
activated = "";
deactivated = "";
};
};
"network" = {
"format-wifi" = " {essid} ({signalStrength}%)";
"format-ethernet" = "{ipaddr}/{cidr} ";
"tooltip-format" = "{ifname} via {gwaddr} ";
"format-linked" = "{ifname} (No IP) ";
"format-disconnected" = "Disconnected ";
"on-click" = "rofi-network-manager";
};
"bluetooth" = {
"format" = " {status}";
"format-connected" = " {status}";
"tooltip-format" = "{controller_alias}\t{controller_address}\n\n{num_connections} connected";
"on-click" = "rofi-bluetooth";
};
"cpu" = {
"format" = " {usage}%";
"tooltip" = true;
};
"memory" = {
"format" = " {}%";
"tooltip" = true;
};
"battery" = {
"states" = {
"warning" = 30;
"critical" = 15;
};
"format" = "{icon} {capacity}%";
"format-full" = "{icon} {capacity}%";
"format-charging" = " {capacity}%";
"format-plugged" = " {capacity}%";
"format-alt" = "{time} {icon}";
"format-icons" = ["" "" "" "" ""];
};
"clock" = {
"format" = "{:%H:%M | %e %B} ";
"tooltip-format" = "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>";
};
};
};
style = ''
* {
/* `otf-font-awesome` and SpaceMono Nerd Font are required to be installed for icons */
font-family: JetbrainsMono, FontAwesome, Roboto, Helvetica, Arial, sans-serif;
font-size: 10px;
transition: background-color .3s ease-out;
}
window#waybar {
background: rgba(38, 38, 38, 0.75);
color: #F7F7F7;
font-family:
SpaceMono Nerd Font,
feather;
transition: background-color .5s;
}
.modules-left,
.modules-right
{
background: rgba(0, 0, 8, .7);
margin: 5px 10px;
padding: 5 5px;
border-radius: 10px;
}
.modules-left {
padding: 0 10px;
}
#clock,
#battery,
#cpu,
#memory,
#disk,
#temperature,
#backlight,
#network,
#pulseaudio,
#wireplumber,
#custom-media,
#tray,
#mode,
#idle_inhibitor,
#scratchpad,
#power-profiles-daemon,
#language,
#mpd {
padding: 0 10px;
border-radius: 10px;
}
#clock:hover,
#battery:hover,
#cpu:hover,
#memory:hover,
#disk:hover,
#temperature:hover,
#backlight:hover,
#network:hover,
#pulseaudio:hover,
#wireplumber:hover,
#custom-media:hover,
#tray:hover,
#mode:hover,
#idle_inhibitor:hover,
#scratchpad:hover,
#power-profiles-daemon:hover,
#language:hover,
#mpd:hover {
background: rgba(38, 38, 38, 0.9);
}
'';
};
};
}