dotfiles/modules/services/picom.nix

53 lines
1.2 KiB
Nix
Raw Normal View History

2021-09-09 21:55:28 +02:00
{ config, lib, pkgs, ... }:
let
base = {
services.picom = {
enable = true;
2021-09-11 13:15:08 +02:00
inactiveOpacity = "0.90";
2021-09-09 21:55:28 +02:00
opacityRule = [
"100:fullscreen"
"80 :class_g = 'Polybar'"
];
blur = true;
2021-09-11 13:15:08 +02:00
# inactiveDim = "0.1";
2021-09-10 11:16:30 +02:00
experimentalBackends = true;
extraOptions = ''
2021-09-15 00:41:46 +02:00
corner-radius = 10;
rounded-cornes-exclude = [
"class_g = 'Polybar'",
"class_g = 'Rofi'"
]
round-borders = 1;
2021-09-10 11:16:30 +02:00
2021-09-15 00:41:46 +02:00
# improve performance
glx-no-rebind-pixmap = true;
glx-no-stencil = true;
2021-09-10 11:16:30 +02:00
2021-09-15 00:41:46 +02:00
# fastest swap method
glx-swap-method = 1;
2021-09-10 11:16:30 +02:00
2021-09-15 00:41:46 +02:00
# dual kawase blur
blur-background-fixed = false;
blur-method = "dual_kawase";
blur-strength = 5;
use-ewmh-active-win = true;
detect-rounded-corners = true;
2021-09-10 11:16:30 +02:00
2021-09-15 00:41:46 +02:00
# stop compositing if there's a fullscreen program
unredir-if-possible = true;
2021-09-10 11:16:30 +02:00
2021-09-15 00:41:46 +02:00
# group wintypes and don't focus a menu (Telegram)
detect-transient = true;
detect-client-leader = true;
2021-09-10 11:16:30 +02:00
2021-09-15 00:41:46 +02:00
# needed for nvidia with glx backend
xrender-sync-fence = true;
'';
2021-09-09 21:55:28 +02:00
};
2021-09-15 00:41:46 +02:00
};
2021-09-09 21:55:28 +02:00
in
{
2021-09-15 00:41:46 +02:00
home-manager.users.moritz = { ... }: (base);
2021-09-09 21:55:28 +02:00
}