{ config, lib, pkgs, ... }: let cfg = config.jade.desktop.compositing; in with lib; { options.jade.desktop.compositing = { enable = mkEnableOption "Enable compositing with picom"; }; config = mkIf cfg.enable { services.picom = { enable = true; backend = "glx"; shadow = true; shadowOffsets = [ (-40) (-30) ]; shadowOpacity = 0.2; shadowExclude = [ "class_g = 'Conky'" "class_g ?= 'Notify-osd'" "class_g = 'Cairo-clock'" "_GTK_FRAME_EXTENTS@:c" "class_g != 'Rofi'" ]; vSync = true; settings = { "shadow-radius" = 40; # fading rofi "fading" = true; "fade-in-step" = 0.25; "fade-out-step" = 0.2; "fade-delta" = 20; "fade-exclude" = [ "class_g != 'Rofi'" ]; # use damage information "use-damage" = true; }; }; # }}} }; }