{ lib, config, ... }: let inherit (lib) mkIf; cfg = config.horseman.wm.hyprland; in { config = mkIf cfg.enable { horseman.wm.hyprland.config = { 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"; on = true; speed = 10.0; curve = "default"; } { name = "border"; on = true; speed = 5.39; curve = "easeOutQuint"; } { name = "windows"; on = true; speed = 4.79; curve = "easeOutQuint"; } { name = "windowsIn"; on = true; speed = 4.1; curve = "easeOutQuint"; style = "popin 87%"; } { name = "windowsOut"; on = true; speed = 1.49; curve = "linear"; style = "popin 87%"; } { name = "fadeIn"; on = true; speed = 1.73; curve = "almostLinear"; } { name = "fadeOut"; on = true; speed = 1.46; curve = "almostLinear"; } { name = "fade"; on = true; speed = 3.03; curve = "quick"; } { name = "layers"; on = true; speed = 3.81; curve = "easeOutQuint"; } { name = "layersIn"; on = true; speed = 4.0; curve = "easeOutQuint"; style = "fade"; } { name = "layersOut"; on = true; speed = 1.5; curve = "linear"; style = "fade"; } { name = "fadeLayersIn"; on = true; speed = 1.79; curve = "almostLinear"; } { name = "fadeLayersOut"; on = true; speed = 1.39; curve = "almostLinear"; } { name = "workspaces"; on = true; speed = 1.94; curve = "almostLinear"; style = "fade"; } { name = "workspacesIn"; on = true; speed = 1.21; curve = "almostLinear"; style = "fade"; } { name = "workspacesOut"; on = true; speed = 1.94; curve = "almostLinear"; style = "fade"; } ]; }; }; }; }