From deaa4b8d9cd159e851a0079390d7a8d1c021bfd0 Mon Sep 17 00:00:00 2001 From: ediblerope Date: Mon, 11 May 2026 10:53:59 +0100 Subject: [PATCH] hyprland: replace bundled waybar config with a minimal Hyprland one MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The bundled waybar config assumes sway and pulls in modules that don't apply here (battery, backlight, sway/*), tries to read /dev/input/* the user can't open, and crashes the media module — which surfaced as "media stopped unexpectedly" and an unrendered bar. Switch to programs.waybar with our own settings: hyprland/workspaces, clock, pulseaudio, network, tray. No IP, no CPU/RAM, no temp, no power profile. Style is a thin transparent bar, white-on-grey workspace numbers, FiraMono Nerd Font for the volume/network glyphs. Co-Authored-By: Claude Opus 4.7 --- settings/hyprland.nix | 109 +++++++++++++++++++++++++++++++++++++++++- 1 file changed, 108 insertions(+), 1 deletion(-) diff --git a/settings/hyprland.nix b/settings/hyprland.nix index c5c7b51..45bc826 100644 --- a/settings/hyprland.nix +++ b/settings/hyprland.nix @@ -33,7 +33,6 @@ environment.systemPackages = with pkgs; [ ghostty - waybar fuzzel mako grim @@ -234,6 +233,114 @@ wallpaper = ,${config.home.homeDirectory}/.local/share/backgrounds/wallpaper.png splash = false ''; + + programs.waybar = { + enable = true; + + settings.mainBar = { + layer = "top"; + position = "top"; + height = 30; + spacing = 6; + + modules-left = [ "hyprland/workspaces" ]; + modules-center = [ "clock" ]; + modules-right = [ "pulseaudio" "network" "tray" ]; + + "hyprland/workspaces" = { + format = "{name}"; + on-click = "activate"; + sort-by-number = true; + }; + + clock = { + format = "{:%H:%M}"; + tooltip-format = "{:%A, %d %B %Y}\n{calendar}"; + }; + + pulseaudio = { + format = "{icon} {volume}%"; + format-muted = " muted"; + format-icons = { + default = [ "" "" "" ]; + headphone = ""; + headset = ""; + }; + on-click = "pavucontrol"; + scroll-step = 5; + }; + + network = { + format-wifi = " {essid}"; + format-ethernet = ""; + format-disconnected = ""; + tooltip-format = "{ifname}"; + on-click = "nm-connection-editor"; + }; + + tray = { + icon-size = 16; + spacing = 8; + }; + }; + + style = '' + * { + font-family: "FiraMono Nerd Font", monospace; + font-size: 13px; + min-height: 0; + border: none; + border-radius: 0; + } + + window#waybar { + background: rgba(20, 20, 20, 0.82); + color: #e8e8e8; + } + + #workspaces { + margin-left: 6px; + } + + #workspaces button { + padding: 0 8px; + color: #6e6e6e; + background: transparent; + } + + #workspaces button.active { + color: #ffffff; + } + + #workspaces button:hover { + background: rgba(255, 255, 255, 0.06); + color: #ffffff; + box-shadow: none; + text-shadow: none; + } + + #clock { + color: #ffffff; + font-weight: 500; + } + + #pulseaudio, + #network, + #tray { + padding: 0 10px; + color: #e8e8e8; + } + + #pulseaudio.muted, + #network.disconnected { + color: #6e6e6e; + } + + #tray { + margin-right: 6px; + } + ''; + }; }; }; }