diff options
Diffstat (limited to 'modules')
| -rw-r--r-- | modules/home-manager/personal/gui/x/default.nix | 7 | ||||
| -rw-r--r-- | modules/home-manager/personal/gui/x/i3/default.nix | 9 | ||||
| -rw-r--r-- | modules/home-manager/personal/gui/x/picom.nix | 15 |
3 files changed, 28 insertions, 3 deletions
diff --git a/modules/home-manager/personal/gui/x/default.nix b/modules/home-manager/personal/gui/x/default.nix index 0de1552..066c557 100644 --- a/modules/home-manager/personal/gui/x/default.nix +++ b/modules/home-manager/personal/gui/x/default.nix @@ -2,7 +2,7 @@ let cfg = config.personal.x; in { - imports = [ ./i3 ./idlehook.nix ]; + imports = [ ./i3 ./idlehook.nix ./picom.nix ]; options.personal.x = { enable = lib.mkEnableOption "X" // { @@ -10,5 +10,8 @@ in { }; }; - config.xsession.enable = lib.mkDefault cfg.enable; + config = lib.mkIf (cfg.enable && config.personal.gui.enable) { + xsession.enable = true; + services.picom.enable = lib.mkDefault true; + }; } diff --git a/modules/home-manager/personal/gui/x/i3/default.nix b/modules/home-manager/personal/gui/x/i3/default.nix index beae770..715ed44 100644 --- a/modules/home-manager/personal/gui/x/i3/default.nix +++ b/modules/home-manager/personal/gui/x/i3/default.nix @@ -44,7 +44,14 @@ in { titlebar = lib.mkDefault false; border = lib.mkDefault 0; }; - floating.titlebar = lib.mkDefault false; + floating = { + titlebar = lib.mkDefault false; + border = lib.mkDefault (if config.services.picom.enable + && config.services.picom.shadow then + 0 + else + lib.mkOptionDefault); + }; gaps = { inner = lib.mkDefault 15; outer = lib.mkDefault 5; diff --git a/modules/home-manager/personal/gui/x/picom.nix b/modules/home-manager/personal/gui/x/picom.nix new file mode 100644 index 0000000..0ae695a --- /dev/null +++ b/modules/home-manager/personal/gui/x/picom.nix @@ -0,0 +1,15 @@ +{ lib, ... }: + +{ + services.picom = { + fade = lib.mkDefault true; + fadeDelta = lib.mkDefault 4; + activeOpacity = lib.mkDefault 1.0; + inactiveOpacity = lib.mkDefault 0.9; + menuOpacity = lib.mkDefault 0.8; + shadow = lib.mkDefault true; + settings.blur.method = lib.mkDefault "gaussian"; + vSync = true; # not default because false seems to be buggy + backend = "glx"; + }; +} |
