{ lib, config, ... }: let inherit (lib) mkIf; cfg = config.horseman.wm.hyprland; in { config = mkIf cfg.enable { nix-hyprland = { animations = { enabled = true; beziers = [ { name = "easeOutQuint"; startX = 0.23; startY = 1.0; endX = 0.32; endY = 1.0; } { name = "easeInOutCubic"; startX = 0.65; startY = 0.05; endX = 0.36; endY = 1.0; } { name = "linear"; startX = 0.0; startY = 0.0; endX = 1.0; endY = 1.0; } { name = "almostLinear"; startX = 0.5; startY = 0.5; endX = 0.75; endY = 1.0; } { name = "quick"; startX = 0.15; startY = 0.0; endX = 0.1; endY = 1.0; } ]; animations = [ { name = "global"; speed = 10.0; curve = "default"; } { name = "border"; speed = 5.39; curve = "easeOutQuint"; } { name = "windows"; speed = 4.79; curve = "easeOutQuint"; } { name = "windowsIn"; speed = 4.1; curve = "easeOutQuint"; style = "popin 87%"; } { name = "windowsOut"; speed = 1.49; curve = "linear"; style = "popin 87%"; } { name = "fadeIn"; speed = 1.73; curve = "almostLinear"; } { name = "fadeOut"; speed = 1.46; curve = "almostLinear"; } { name = "fade"; speed = 3.03; curve = "quick"; } { name = "layers"; speed = 3.81; curve = "easeOutQuint"; } { name = "layersIn"; speed = 4.0; curve = "easeOutQuint"; style = "fade"; } { name = "layersOut"; speed = 1.5; curve = "linear"; style = "fade"; } { name = "fadeLayersIn"; speed = 1.79; curve = "almostLinear"; } { name = "fadeLayersOut"; speed = 1.39; curve = "almostLinear"; } { name = "workspaces"; speed = 1.94; curve = "almostLinear"; style = "fade"; } { name = "workspacesIn"; speed = 1.21; curve = "almostLinear"; style = "fade"; } { name = "workspacesOut"; speed = 1.94; curve = "almostLinear"; style = "fade"; } ]; }; }; }; }