{ pkgs, ... }:
with pkgs.lib.nix-rice;
let strPalette = palette.toRGBHex pkgs.rice.colorPalette;
in {
  services.swaync = {
    enable = true;
    settings = {
      positionX = "right";
      positionY = "top";
      layer = "overlay";
      control-center-layer = "top";
      layer-shell = true;
      cssPriority = "application";
      control-center-height = 600;
      fit-to-screen = false;
      # control-center-margin-top = 0;
      # control-center-margin-bottom = 0;
      # control-center-margin-right = 0;
      # control-center-margin-left = 0;
      notification-2fa-action = true;
      notification-inline-replies = false;
      notification-icon-size = 64;
      notification-body-image-height = 100;
      notification-body-image-width = 200;
      image-visibility = "when-available";

      widgets = [
        "inhibitors"
        "dnd"
        "notifications"
      ];

      widget-config = {
        inhibitors = {
          "text" = "Inhibitors";
          "button-text" = "Clear All";
          "clear-all-button" = true;
        };
        title = {
          "text" = "Notifications";
          "clear-all-button" = false;
          "button-text" = "Clear All";
        };
        dnd = {
          "text" = "Do Not Disturb";
        };
        label = {
          "max-lines" = 5;
          "text" = "Label Text";
        };
      };
    };
    style =
      ''
  .control-center {
    background: ${strPalette.normal.background};
    border-radius: ${toString pkgs.rice.corner-radius}px;
    padding: 6px;
    margin: 6px 12px;
    border: 2px solid ${strPalette.normal.cyan};
    color: ${strPalette.normal.white};
  }

  .notification-row {
    outline: none;
  }

  .notification {
    border-radius: ${toString pkgs.rice.corner-radius}px;
    margin: 6px 12px;
    box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.3), 0 1px 3px 1px rgba(0, 0, 0, 0.7),
      0 2px 6px 2px rgba(0, 0, 0, 0.3);
    padding: 6px;
  }
'';
  };
}
