{ pkgs, config, ... }: { programs.waybar = { enable = true; package = pkgs.waybar; settings = { mainBar = { layer = "top"; position = "top"; height = 30; output = [ "eDP-1" "DP-1" "HDMI-A-1" "Virtual-1" ]; modules-left = [ "custom/smallspacer" "hyprland/workspaces" "custom/spacer" "mpris" ]; modules-center = [ "custom/weather" ]; modules-right = [ ]; # Widgets "sway/workspaces" = { disable-scroll = true; all-outputs = true; }; mpris = { format = "{player_icon} {dynamic}"; format-paused = "{status_icon} {dynamic}"; max-length = 100; player-icons = { default = "⏸"; mpv = "🎵"; }; status-icons: { paused = "▶"; }; }; "hyprland/workspaces" = { format = "{icon}"; format-icons = { default = ""; active = ""; }; }; # Custom Widgets "custom/weather" = { exec = "python3 ~/.config/waybar/weather.py waybar"; restart-interval = 900; return-type = "json"; }; }; }; }; home.file.".config/waybar" = { source = ./configs; # copy the scripts directory recursively recursive = true; }; }