163 lines
		
	
	
		
			4.1 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			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);
 | |
|         }
 | |
|       '';
 | |
|     };
 | |
|   };
 | |
| }
 |