{
  pkgs,
  enable,
}: {
  inherit enable;
  package = pkgs.waybar-hyprland;
  settings = {
    mainBar = {
      layer = "top";
      height = 30;

      modules-left = ["wlr/workspaces"];
      modules-center = ["clock"];
      modules-right = ["pulseaudio" "memory" "cpu" "tray"];

      "hyprland/workspaces" = {
        format = "{icon}";
        on-click = "activate";
        on-scroll-up = "hyprctl dispatch workspace e+1";
        on-scroll-down = "hyprctl dispatch workspace e-1";
        #format-icons = {
        #  "1" = "";
        #  "2" = "";
        #  "3" = "";
        #  "4" = "";
        #  "5" = "";
        #  urgent = "";
        #  active = "";
        #  default = "";
        #};
        sort-by-number = true;
      };

      "wlr/window" = {
        max-length = 50;
      };

      mpris = {
        format = "DEFAULT: {player_icon} {dynamic}";
        format-paused = "DEFAULT: {status_icon} <i>{dynamic}</i>";
        player-icons = {
          default = "▶";
          mpv = "🎵";
        };
        status-icons = {
          paused = "⏸";
        };
      };

      pulseaudio = {
        format = "{volume}% {icon}";
        format-bluetooth = " {volume}% {icon}";
        format-muted = "";
        format-icons = {
          headphone = "";
          hands-free = "";
          headset = "";
          phone = "";
          portable = "";
          car = "";
          default = ["" ""];
        };
        scroll-step = 1;
        on-click = "pavucontrol";
        ignored-sinks = ["Easy Effects Sink"];
      };

      cpu = {
        interval = 10;
        format = " {load}% {icon}";
        format-icons = ["▁" "▂" "▃" "▄" "▅" "▆" "▇" "█"];
      };

      memory = {
        interval = 30;
        format = " {used:0.1f}G / {total:0.1f}G";
      };

      clock = {
        # TODO: Fix that calendar width is too small
        format = "{:%H:%M}  ";
        format-alt = "{:%A, %B %d, %Y (%R)}";
        tooltip-format = "<tt><small>{calendar}</small></tt>";
        calendar = {
          mode = "year";
          mode-mon-col = 3;
          weeks-pos = "right";
          on-scroll = 1;
          on-click-right = "mode";
          format = {
            months = "<span color='#ffead3'><b>{}</b></span>";
            days = "<span color='#ecc6d9'><b>{}</b></span>";
            weeks = "<span color='#99ffdd'><b>W{}</b></span>";
            weekdays = "<span color='#ffcc66'><b>{}</b></span>";
            today = "<span color='#ff6699'><b><u>{}</u></b></span>";
          };
        };
        actions = {
          on-click-right = "mode";
          on-click-forward = "tz_up";
          on-click-backward = "tz_down";
          on-scroll-up = "shift_up";
          on-scroll-down = "shift_down";
        };
      };

      tray = {
        "icon-size" = 21;
        "spacing" = 10;
      };
    };
  };
}
