{ lib, config, ... }: let cfg = config.module.wm.hyprland; True = { enabled = true; }; in { wayland.windowManager.hyprland = { settings = with config.lib.stylix.colors; { env = [ "SLURP_ARGS, -b ${base00}CC -c ${base0F}FF -B ${base02}CC" ]; monitor = let res = "1920x1080"; fps = "60"; scl = "1.2"; trs = "0"; in "eDP-1, ${res}@${fps}, 0x0, ${scl}, transform, ${trs}"; exec-once = cfg.autostart; # APPERANCE general = { gaps_in = 4; gaps_out = 8; border_size = 3; layout = "dwindle"; # allow_tearing = false; "col.active_border" = lib.mkForce "rgb(${base01})"; "col.inactive_border" = lib.mkForce "rgb(${base01})"; }; decoration = { rounding = 12; dim_inactive = true; dim_strength = 0.3; shadow = True // { range = 10; render_power = 8; }; blur = True // { size = 18; passes = 5; noise = 0; new_optimizations = true; ignore_opacity = true; xray = false; vibrancy = 0.9; popups = true; special = true; }; }; group = { "col.border_active" = lib.mkForce "rgb(${base0C}) rgb(${base0B}) 45deg"; "col.border_inactive" = lib.mkForce "rgb(${base01})"; groupbar = { gradients = false; render_titles = false; "col.active" = lib.mkForce "rgb(${base05})"; "col.inactive" = lib.mkForce "rgb(${base01})"; }; }; # ANIMATIONS animations = True // { first_launch_animation = false; bezier = [ "linear, 1, 1, 1, 1" "over, 0, 0.1, 0.1, 0.3" "myBezier, 0.05, 0.9, 0.1, 1.0" ]; animation = [ "windowsIn, 1, 3, myBezier, popin 80%" "windowsOut, 1, 3, myBezier, popin 80%" "windowsMove, 1, 2, over" "border, 1, 3, myBezier" "workspaces, 1, 2.7, default, slide" "specialWorkspaceIn, 1, 1, default, fade" "specialWorkspaceOut, 1, 1, default, fade" "fade, 1, 2, myBezier" "fadeShadow, 1, 4, default" ]; }; # TRACKPOINT | TOUCHPAD | MOUSE cursor.inactive_timeout = 1; input = { kb_layout = "us,ru"; kb_options = "grp:caps_toggle"; accel_profile = "adaptive"; touchpad = { natural_scroll = false; disable_while_typing = true; }; }; gestures = { workspace_swipe = true; workspace_swipe_fingers = 3; workspace_swipe_create_new = true; }; # WINDOW LAYOUT dwindle = { pseudotile = true; preserve_split = true; smart_resizing = true; force_split = 2; }; misc = { disable_hyprland_logo = true; disable_splash_rendering = true; mouse_move_enables_dpms = true; # vfr = true; # vrr = 1; animate_manual_resizes = true; animate_mouse_windowdragging = true; # enable_swallow = true; close_special_on_empty = true; background_color = lib.mkForce "rgb(${base00})"; }; }; }; }