{ lib, config, pkgs, ... }: {

  config = lib.mkIf (config.usercfg.wm == "Wayland") {
    home.packages = with pkgs; [ libnotify ];
    services.dunst = {
      enable = true;
      #waylandDisplay = "DP-2";
      settings = {
        global = {
          follow = "mouse";
          height = "200";
          width = "350";
          scale = "0";
          origin = "top-right";
          offset = "${
              toString ((lib.strings.toInt config.colorScheme.palette.gaps-bar)
                + (lib.strings.toInt config.colorScheme.palette.gaps-screen))
            }x${config.colorScheme.palette.gaps-screen}";
          notification_limit = "0";
          progress_bar = "true";
          progress_bar_height = "10";
          progress_bar_frame_width = "1";
          progress_bar_min_width = "150";
          progress_bar_max_width = "350";
          indicate_hidden = "yes";
          transparency = "0";
          separator_height = "2";
          padding = "12";
          horizontal_padding = "15";
          text_icon_padding = "0";
          frame_width = "${config.colorScheme.palette.border-width}";
          frame_color = "#${config.colorScheme.palette.base04}";
          separator_color = "auto";
          sort = "yes";
          font = "IBM Plex Mono 14";
          markup = "full";
          format = ''<b>%s</b>\n<span size="small">%b</span>'';
          alignment = "center";
          vertical_alignment = "center";
          show_age_threshold = "60";
          ellipsize = "end";
          ignore_newline = "no";
          stack_duplicates = "true";
          hide_duplicate_count = "false";
          show_indicators = "yes";
          min_icon_size = 32;
          max_icon_size = 64;

          icon_path = lib.mkForce 
            "${pkgs.tela-circle-icon-theme}/share/icons/Tela-circle-dark/32/status:${pkgs.tela-circle-icon-theme}/share/icons/Tela-circle-dark/32/device ";
          icon_theme = "Tela-circle-dark";
          enable_recursive_icon_lookup = "true";

          sticky_history = "yes";
          history_length = "20";

          dmenu = "wofi --show dmenu -p dunst:";
          browser = "/usr/bin/xdg-open";
          always_run_script = "true";
          title = "Dunst";
          class = "Dunst";
          corner_radius = "${config.colorScheme.palette.border-radius}";
          ignore_dbusclose = "false";
          layer = "top";
          force_xwayland = "true";
          force_xinerama = "false";

          mouse_left_click = "close_current";
          mouse_middle_click = "context";
          mouse_right_click = "do_action";

        };
        urgency_low = {
          background = "#${config.colorScheme.palette.base01}";
          foreground = "#${config.colorScheme.palette.base07}";
          frame_color = "#${config.colorScheme.palette.base03}";
          timeout = "3";
          highlight = "#${config.colorScheme.palette.base0B}";
        };
        urgency_normal = {
          background = "#${config.colorScheme.palette.base01}";
          foreground = "#${config.colorScheme.palette.base07}";
          frame_color = "#${config.colorScheme.palette.base04}";
          timeout = "5";
          highlight = "#${config.colorScheme.palette.base0C}";
        };
        urgency_critical = {
          background = "#${config.colorScheme.palette.base01}";
          foreground = "#${config.colorScheme.palette.base0F}";
          frame_color = "#${config.colorScheme.palette.base0F}";
          timeout = "10";
          highlight = "#${config.colorScheme.palette.base0E}";
        };
      };
    };
  };
}
