{ ... } : { wayland.windowManager.hyprland.settings = { exec-once = [ "waybar" ]; }; programs.waybar = { enable = true; settings = [ { # "layer": "top", # Waybar at top layer # "position": "bottom", # Waybar position (top|bottom|left|right) height = 30; # Waybar height (to be removed for auto height) # "width": 1280, # Waybar width spacing = 4; # Gaps between modules (4px) # Choose the order of the modules modules-left = [ "hyprland/workspaces" ]; modules-center = [ "hyprland/window" ]; modules-right = [ "mpd" "idle_inhibitor" "wireplumber" "network" "power-profiles-daemon" "cpu" "memory" "temperature" "backlight" "keyboard-state" "sway/language" "battery" "battery#bat2" "clock" "tray" "custom/power" ]; # Modules configuration "hyprland/workspaces" = { disable-scroll = true; all-outputs = true; warp-on-scroll = false; format = "{name} {icon}"; format-icons = { active = ""; default = ""; }; }; keyboard-state = { numlock = true; capslock = true; format = "{name} {icon}"; format-icons = { locked = ""; unlocked = ""; }; }; # "sway/mode": { # "format": "{}" # }, # "sway/scratchpad": { # "format": "{icon} {count}", # "show-empty": false, # "format-icons": ["", ""], # "tooltip": true, # "tooltip-format": "{app}: {title}" # }, mpd = { format = "{stateIcon} {consumeIcon}{randomIcon}{repeatIcon}{singleIcon}{artist} - {album} - {title} ({elapsedTime:%M:%S}/{totalTime:%M:%S}) ⸨{songPosition}|{queueLength}⸩ {volume}% "; format-disconnected = "Disconnected "; format-stopped = "{consumeIcon}{randomIcon}{repeatIcon}{singleIcon}Stopped "; unknown-tag = "N/A"; interval = 5; consume-icons = { on = " "; }; random-icons = { off = " "; on = " "; }; repeat-icons = { on = " "; }; single-icons = { on = "1 "; }; state-icons = { paused = ""; playing = ""; }; tooltip-format = "MPD (connected)"; tooltip-format-disconnected = "MPD (disconnected)"; }; idle_inhibitor = { format = "{icon}"; format-icons = { activated = ""; deactivated = ""; }; }; tray = { # "icon-size": 21, spacing = 10; # "icons": { # "blueman": "bluetooth", # "TelegramDesktop": "$HOME/.local/share/icons/hicolor/16x16/apps/telegram.png" # } }; clock = { # "timezone": "America/New_York", tooltip-format = "{:%Y %B}\n{calendar}"; format-alt = "{:%Y-%m-%d}"; }; cpu = { format = "{usage}% "; tooltip = false; }; memory = { format = "{}% "; }; temperature = { # "thermal-zone": 2, # "hwmon-path": "/sys/class/hwmon/hwmon2/temp1_input", critical-threshold = 80; # "format-critical": "{temperatureC}°C {icon}", format = "{temperatureC}°C {icon}"; format-icons = ["" "" ""]; }; backlight = { # "device": "acpi_video1", format = "{percent}% {icon}"; format-icons = ["" "" "" "" "" "" "" "" ""]; }; battery = { states = { # "good": 95, warning = 30; critical = 15; }; format = "{capacity}% {icon}"; format-full = "{capacity}% {icon}"; format-charging = "{capacity}% "; format-plugged = "{capacity}% "; format-alt = "{time} {icon}"; # "format-good": "", // An empty format will hide the module # "format-full": "", format-icons = ["" "" "" "" ""]; }; "battery#bat2" = { bat = "BAT2"; }; power-profiles-daemon = { format = "{icon}"; tooltip-format = "Power profile: {profile}\nDriver: {driver}"; tooltip = true; format-icons = { default = ""; performance = ""; balanced = ""; power-saver = ""; }; }; network = { # "interface": "wlp2*", // (Optional) To force the use of this interface format-wifi = "{essid} ({signalStrength}%) "; format-ethernet = "{ipaddr}/{cidr} "; tooltip-format = "{ifname} via {gwaddr} "; format-linked = "{ifname} (No IP) "; format-disconnected = "Disconnected ⚠"; format-alt = "{ifname}: {ipaddr}/{cidr}"; }; wireplumber = { format = "{volume}% {icon}"; format-muted = ""; # on-click = "helvum"; max-volume = 150; scroll-step = 0.15; format-icons = [" " " " " "]; }; "custom/media" = { format = "{icon} {text}"; return-type = "json"; max-length = 40; format-icons = { spotify = ""; default = "🎜"; }; escape = true; exec = "$HOME/.config/waybar/mediaplayer.py 2> /dev/null"; # Script in resources folder; # "exec": "$HOME/.config/waybar/mediaplayer.py --player spotify 2> /dev/null" // Filter player based on name }; "custom/power" = { format = "⏻ "; tooltip = false; menu = "on-click"; menu-file = "$HOME/.config/waybar/power_menu.xml"; # Menu file in resources folde; "menu-actions" = { shutdown = "shutdown"; reboot = "reboot"; suspend = "systemctl suspend"; hibernate = "systemctl hibernate"; }; }; } ]; }; }