{
  lib,
  config,
  pkgs,
  ...
}: {
  # home.file = {
  #   ".config/picom/picom.conf" = {
  #     text = builtins.readFile ./picom.conf;
  #   };
  #
  #   ".config/picom/picom-animations.conf" = {
  #     text = builtins.readFile ./picom-animations.conf;
  #   };
  #
  #   ".config/picom/black_to_transparent.frag" = {
  #     text = builtins.readFile ./black_to_transparent.frag;
  #   };
  # };

  home.packages = with pkgs; [
    picom
  ];

  # services.picom = {
  #   enable = true;
  #   package = pkgs.picom;
  #   backend = "glx";
  #
  #   shadow = true;
  #   shadowOpacity = 0.2;
  #   shadowOffsets = [1 1];
  #
  #   shadowExclude = [
  #     "name = 'Notification'"
  #     "class_g = 'Conky'"
  #     "_GTK_FRAME_EXTENTS@:c"
  #     "override_redirect = 1 && !WM_CLASS@:s"
  #     "class_g ?= 'Dmenu'"
  #     "class_g ?= 'Dunst'"
  #     "_NET_WM_STATE@:32a *= '_NET_WM_STATE_HIDDEN'"
  #     "_GTK_FRAME_EXTENTS@:c"
  #     "_NET_WM_STATE@:32a *= '_NET_WM_STATE_STICKY'"
  #     "class_g ?= 'i3-frame'"
  #     "class_g = 'Rofi'"
  #   ];
  #
  #   fade = true;
  #   fadeSteps = [0.08 0.05];
  #
  #   vSync = true;
  #
  #   settings = {
  #     shadow = {
  #       radius = 3;
  #     };
  #
  #     corner-radius = 9;
  #     rounder-corners-exclude = [
  #       "window_type = 'dock'"
  #       "window_type = 'desktop'"
  #       "class_g = 'Dunst'"
  #     ];
  #
  #     blur = {
  #       method = "dual_kawase";
  #       strength = 10;
  #       background = false;
  #       background-frame = false;
  #       background-fixed = false;
  #     };
  #
  #     blur-kern = "3x3box";
  #
  #     # xprop | grep -i 'class'
  #     opacity-rule = [
  #       "90:class_g = 'neovide'"
  #       "90:class_g = 'code-oss'"
  #       "90:class_g = 'discord'"
  #       "90:class_g = 'Emacs'"
  #       "90:class_g = 'TelegramDesktop'"
  #       "90:class_g = 'Spotify'"
  #       "90:class_g = 'easyeffects'"
  #       "90:class_g = 'kitty'"
  #       "90:class_g = 'Nemo'"
  #       "97:class_g = 'firefox'"
  #     ];
  #
  #     # Exclude conditions for background blur.
  #     # blur-background-exclude = []
  #     blur-background-exclude = [
  #       "window_type = 'dock'"
  #       "window_type = 'desktop'"
  #       "_GTK_FRAME_EXTENTS@:c"
  #     ];
  #
  #     mark-wmwin-focused = true;
  #     mark-ovredir-focused = true;
  #     detect-rounded-corners = true;
  #     detect-client-opacity = true;
  #     unredir-if-possible = false;
  #     detect-transient = true;
  #     detect-client-leader = true;
  #     use-damage = true;
  #
  #     window-shader-fg-rule = [
  #       # "black_to_transparent.frag:class_g = 'stalonetray'",
  #       # "black_to_transparent.frag:class_g = 'Minecraft 1.7.10'",
  #       # "black_to_transparent.frag:class_g = 'i3lock'"
  #       # "black_to_transparent.frag:focused = true"
  #       # "black_to_transparent.frag:focused != true",
  #       #"sphere.glsl:focused != true"
  #       #"nordify.glsl:class_g = 'miru'"
  #     ];
  #   };
  # };
}
