nix-configs/modules/desktop-environment/compositing.nix
2024-03-05 17:10:35 +01:00

43 lines
946 B
Nix

{
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 ?= 'Notify-osd'"
"_GTK_FRAME_EXTENTS@:c"
"!(class_g = 'Rofi' || class_g = 'Dunst')"
];
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;
};
};
# }}}
};
}