working hyprland config + waybar for home computer
This commit is contained in:
		
							parent
							
								
									a87710befa
								
							
						
					
					
						commit
						f94e8845b3
					
				
					 7 changed files with 321 additions and 36 deletions
				
			
		|  | @ -0,0 +1,39 @@ | |||
| { | ||||
|     "height": 24, // Waybar height (to be removed for auto height) | ||||
|     "modules-left": ["hyprland/workspaces"], | ||||
|     "modules-center": ["hyprland/window"], | ||||
|     "modules-right": ["tray", "idle_inhibitor", "pulseaudio", "clock"], | ||||
|     "hyprland/window": { | ||||
|       "separate-outputs": true | ||||
|     }, | ||||
|     "idle_inhibitor": { | ||||
|         "format": "{icon}", | ||||
|         "format-icons": { | ||||
|             "activated": "", | ||||
|             "deactivated": "" | ||||
|         } | ||||
|     }, | ||||
|     "tray": { | ||||
|         // "icon-size": 21, | ||||
|         "spacing": 10 | ||||
|     }, | ||||
|     "clock": { | ||||
|         "timezone": "Europe/Berlin", | ||||
|         "tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>", | ||||
|         "format": "{:L%Y-%m-%d<small> [%a] </small>%H:%M}" | ||||
|     }, | ||||
|        "pulseaudio": { | ||||
|         "scroll-step": 5, // %, can be a float | ||||
|         "format": "{icon}  {volume}% {format_source}", | ||||
|         "format-bluetooth": " {icon}  {volume}%  {format_source}", | ||||
|         "format-bluetooth-muted": " {icon} {format_source}", | ||||
|         "format-muted": "{format_source}", | ||||
|         "format-source": "  {volume}%", | ||||
|         "format-source-muted": "", | ||||
|         "format-icons": { | ||||
|             "default": ["", "", ""] | ||||
|         }, | ||||
|         "on-click": "pavucontrol", | ||||
|         "on-click-right": "foot -a pw-top pw-top" | ||||
|     }, | ||||
| } | ||||
|  | @ -0,0 +1,35 @@ | |||
| { | ||||
|   lib, | ||||
|   config, | ||||
|   options, | ||||
|   pkgs, | ||||
|   namespace, | ||||
|   ... | ||||
| }: | ||||
| let | ||||
|   cfg = config.${namespace}.graphical-interface.desktop-manager.addons.waybar; | ||||
| 
 | ||||
|   inherit (lib) | ||||
|     mkEnableOption | ||||
|     mkOption | ||||
|     mkIf | ||||
|     types | ||||
|     ; | ||||
| in | ||||
| { | ||||
|   options.${namespace}.graphical-interface.desktop-manager.addons.waybar = { | ||||
|     enable = mkEnableOption "Waybar"; | ||||
|     package = mkOption { | ||||
|       type = types.package; | ||||
|       default = pkgs.waybar; | ||||
|       description = "The package to use for Waybar"; | ||||
|     }; | ||||
|   }; | ||||
| 
 | ||||
|   config = mkIf cfg.enable { | ||||
|     wyrdgard.home.file = { | ||||
|       ".config/waybar/config".source = ./config; | ||||
|       ".config/waybar/style.css".source = ./style.css; | ||||
|     }; | ||||
|   }; | ||||
| } | ||||
|  | @ -0,0 +1,182 @@ | |||
| window#waybar { | ||||
|   background: transparent; | ||||
|   /*    background-color: rgba(43, 48, 59, 0.5); */ | ||||
|   /*    border-bottom: 3px solid rgba(100, 114, 125, 0.5); */ | ||||
|   color: #ffffff; | ||||
|   transition-property: background-color; | ||||
|   transition-duration: .5s; | ||||
| } | ||||
| 
 | ||||
| window#waybar.hidden { | ||||
|   opacity: 0.2; | ||||
| } | ||||
| 
 | ||||
| #waybar.empty #window { | ||||
|   background-color: transparent; | ||||
| } | ||||
| 
 | ||||
| #workspaces { | ||||
| } | ||||
| 
 | ||||
| #window { | ||||
|   margin: 2px; | ||||
|   padding-left: 8px; | ||||
|   padding-right: 8px; | ||||
|   background-color: rgba(0,0,0,0.3); | ||||
|   font-size:14px; | ||||
|   font-weight: bold; | ||||
| } | ||||
| 
 | ||||
| button { | ||||
|   /* Use box-shadow instead of border so the text isn't offset */ | ||||
|   box-shadow: inset 0 -3px transparent; | ||||
|   /* Avoid rounded borders under each button name */ | ||||
|   border: none; | ||||
|   border-radius: 0; | ||||
| } | ||||
| 
 | ||||
| /* https://github.com/Alexays/Waybar/wiki/FAQ#the-workspace-buttons-have-a-strange-hover-effect */ | ||||
| button:hover { | ||||
|   background: inherit; | ||||
|   border-top: 2px solid #c9545d; | ||||
| } | ||||
| 
 | ||||
| #workspaces button { | ||||
|   padding: 0 4px; | ||||
|   /*    background-color: rgba(0,0,0,0.3); */ | ||||
| } | ||||
| 
 | ||||
| #workspaces button:hover { | ||||
| } | ||||
| 
 | ||||
| #workspaces button.focused { | ||||
|   /*    box-shadow: inset 0 -2px #c9545d; */ | ||||
|   background-color: rgba(0,0,0,0.3); | ||||
|   color:#c9545d; | ||||
|   border-top: 2px solid #c9545d; | ||||
| } | ||||
| 
 | ||||
| #workspaces button.urgent { | ||||
|   background-color: #eb4d4b; | ||||
| } | ||||
| 
 | ||||
| #mode { | ||||
|   background-color: #64727D; | ||||
|   border-bottom: 3px solid #ffffff; | ||||
| } | ||||
| 
 | ||||
| #clock, | ||||
| #battery, | ||||
| #cpu, | ||||
| #memory, | ||||
| #disk, | ||||
| #temperature, | ||||
| #backlight, | ||||
| #network, | ||||
| #pulseaudio, | ||||
| #wireplumber, | ||||
| #custom-media, | ||||
| #tray, | ||||
| #mode, | ||||
| #idle_inhibitor, | ||||
| #scratchpad, | ||||
| #mpd { | ||||
|   margin: 2px; | ||||
|   padding-left: 4px; | ||||
|   padding-right: 4px; | ||||
|   background-color: rgba(0,0,0,0.3); | ||||
|   color: #ffffff; | ||||
| } | ||||
| 
 | ||||
| /* If workspaces is the leftmost module, omit left margin */ | ||||
| .modules-left > widget:first-child > #workspaces { | ||||
|   margin-left: 0; | ||||
| } | ||||
| 
 | ||||
| /* If workspaces is the rightmost module, omit right margin */ | ||||
| .modules-right > widget:last-child > #workspaces { | ||||
|   margin-right: 0; | ||||
| } | ||||
| 
 | ||||
| #clock { | ||||
|   font-size:14px; | ||||
|   font-weight: bold; | ||||
| } | ||||
| 
 | ||||
| #battery icon { | ||||
|   color: red; | ||||
| } | ||||
| 
 | ||||
| #battery.charging, #battery.plugged { | ||||
|   color: #ffffff; | ||||
|   background-color: #26A65B; | ||||
| } | ||||
| 
 | ||||
| @keyframes blink { | ||||
|   to { | ||||
|     background-color: #ffffff; | ||||
|     color: #000000; | ||||
|   } | ||||
| } | ||||
| 
 | ||||
| #battery.warning:not(.charging) { | ||||
|   background-color: #f53c3c; | ||||
|   color: #ffffff; | ||||
|   animation-name: blink; | ||||
|   animation-duration: 0.5s; | ||||
|   animation-timing-function: linear; | ||||
|   animation-iteration-count: infinite; | ||||
|   animation-direction: alternate; | ||||
| } | ||||
| 
 | ||||
| #battery.critical:not(.charging) { | ||||
|   background-color: #f53c3c; | ||||
|   color: #ffffff; | ||||
|   animation-name: blink; | ||||
|   animation-duration: 0.5s; | ||||
|   animation-timing-function: linear; | ||||
|   animation-iteration-count: infinite; | ||||
|   animation-direction: alternate; | ||||
| } | ||||
| 
 | ||||
| label:focus { | ||||
|   background-color: #000000; | ||||
| } | ||||
| 
 | ||||
| #network.disconnected { | ||||
|   background-color: #f53c3c; | ||||
| } | ||||
| 
 | ||||
| #temperature.critical { | ||||
|   background-color: #eb4d4b; | ||||
| } | ||||
| 
 | ||||
| #idle_inhibitor.activated { | ||||
|   background-color: #ecf0f1; | ||||
|   color: #2d3436; | ||||
| } | ||||
| 
 | ||||
| #tray > .passive { | ||||
|   -gtk-icon-effect: dim; | ||||
| } | ||||
| 
 | ||||
| #tray > .needs-attention { | ||||
|   -gtk-icon-effect: highlight; | ||||
|   background-color: #eb4d4b; | ||||
| } | ||||
| 
 | ||||
| /* | ||||
| 
 | ||||
| window#waybar.solo { | ||||
| background-color: #FFFFFF; | ||||
| } | ||||
| 
 | ||||
| window#waybar.termite { | ||||
| background-color: #3F3F3F; | ||||
| } | ||||
| 
 | ||||
| window#waybar.chromium { | ||||
| background-color: #000000; | ||||
| border: none; | ||||
| } | ||||
|  */ | ||||
|  | @ -40,6 +40,8 @@ in | |||
|       wl-screenrec | ||||
|       wlr-randr | ||||
|       grimblast | ||||
| 
 | ||||
|       waybar | ||||
|     ]; | ||||
| 
 | ||||
|     services.xserver = enabled; | ||||
|  | @ -52,6 +54,8 @@ in | |||
|     }; | ||||
| 
 | ||||
|     wyrdgard = { | ||||
|       graphical-interface.desktop-manager.addons.waybar = enabled; | ||||
| 
 | ||||
|       nix.extra-substituters.${cachix-url} = { | ||||
|         key = cachix-key; | ||||
|       }; | ||||
|  | @ -66,8 +70,16 @@ in | |||
|               "$mod" = "SUPER"; | ||||
| 
 | ||||
|               exec-once = [ | ||||
|                 "steam" | ||||
|                 "discord" | ||||
|                 "waybar" | ||||
|                 "[workspace 3 silent] steam" | ||||
|                 "[workspace 2 silent] discord" | ||||
|                 "[workspace 2 silent] noisetorch" | ||||
|                 "[workspace 4 silent] 1password" | ||||
|                 "[workspace 1 silent] zen" | ||||
|               ]; | ||||
| 
 | ||||
|               windowrulev2 = [ | ||||
|                 "workspace 3 silent, class:^(steam)$, title:^(Steam)" | ||||
|               ]; | ||||
| 
 | ||||
|               general = { | ||||
|  | @ -82,6 +94,10 @@ in | |||
|                 resize_on_border = true; | ||||
|               }; | ||||
| 
 | ||||
|               misc = { | ||||
|                 force_default_wallpaper = 2; | ||||
|               }; | ||||
| 
 | ||||
|               decoration = { | ||||
|                 rounding = 16; | ||||
|                 blur = { | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue