{ pkgs, ... }: {
  home-manager.users.agatha = {
    services.picom = {
      enable = true;
      package = pkgs.picom-next;

      # General
      backend = "glx";
      vSync = true;
      settings = {
        mark-wmwin-focused = true;
        detect = {
          rounded-corners = true;
          client-opacity = true;
          transient = true;
          client-leader = true;
        };
        use-damage = true;

        wintypes = {
          tooltip = {
            fade = true;
            shadow = true;
            opacity = 0.75;
            focus = true;
            full-shadow = false;
          };
          dock = { shadow = false; };
          dnd = { shadow = false; };
          popup_menu = { opacity = 0.8; };
          dropdown_menu = { opacity = 0.8; };
        };
      };

      # Shadows
      shadow = true;
      shadowOpacity = 1.0;
      shadowOffsets = [ (-7) (-7) ];
      shadowExclude = [
        "name = 'Notification'"
        "class_g ?= 'Notify-osd'"
        "class_g = 'Cairo-clock'"
        "class_g = 'firefox-nightly' && argb"
        "class_g = 'firefox' && argb"
        "_GTK_FRAME_EXTENTS@:c"
        "_NET_FRAME_EXTENTS@:c && WM_WINDOW_ROLE@:s = 'Popup'"
        "override_redirect = true"
      ];

      # Fade
      fade = true;
      fadeSteps = [ 5.0e-2 5.0e-2 ];

      # Opacity
      settings.frame-opacity = 0.7;
      settings.inactive-opacity-override = false;
      settings.inactive-dim = 0.2;
      settings.focus-exclude = [
        "class_g = 'firefox-nightly'"
        "class_g = 'firefox'"
        "class_g = 'Dunst'"
      ];
      opacityRules = [
        "100:_NET_WM_STATE@[0]:32a = '_NET_WM_STATE_FULLSCREEN'"
        "100:_NET_WM_STATE@[1]:32a = '_NET_WM_STATE_FULLSCREEN'"
        "100:_NET_WM_STATE@[2]:32a = '_NET_WM_STATE_FULLSCREEN'"
        "100:_NET_WM_STATE@[3]:32a = '_NET_WM_STATE_FULLSCREEN'"
        "100:_NET_WM_STATE@[4]:32a = '_NET_WM_STATE_FULLSCREEN'"
        "0:_COMPTON_MONOCLE@:32c = 0"
        "70:class_g  = 'kitty'"
        "80:class_g  = 'Dunst'"
        "20:class_g  = 'Bspwm' && class_i = 'presel_feedback'"
      ];

      # Blur
      settings.blur = {
        method = "dual_kawase";
        strength = 3;
        background = true;
        kern = "3x3box";
        background-exclude = [
          "window_type = 'dock'"
          "window_type = 'desktop'"
          "window_type = 'dropdown_menu'"
          "window_type = 'popup_menu'"
          "window_type = 'tooltip'"
          "_GTK_FRAME_EXTENTS@:c"
          "_NET_FRAME_EXTENTS@:c && WM_WINDOW_ROLE@:s = 'Popup'"
          "class_g = 'firefox-nightly' && argb"
          "class_g = 'firefox' && argb"
          "override_redirect = true"
        ];
      };
    };
  };
}
