{ lib, nixosConfig, ... }:
let
  cfg = nixosConfig.my.desktop;
in
{
  wayland.windowManager.hyprland = lib.mkIf (cfg.enable && cfg.hyprland.enable) {
    settings = {
      misc = {
        disable_hyprland_logo = true;
        disable_splash_rendering = true;
        vrr = 3;
        vfr = true;
        mouse_move_enables_dpms = true;
        key_press_enables_dpms = true;
        animate_manual_resizes = false;
        animate_mouse_windowdragging = false;
        enable_swallow = false;
        swallow_regex = "(foot|kitty|allacritty|Alacritty)";
        # new_window_takes_over_fs = 2;
        allow_session_lock_restore = true;
        session_lock_xray = true;
        initial_workspace_tracking = false;
        middle_click_paste = false;
        focus_on_activate = true;
        size_limits_tiled = true;
      };
    };
  };
}