{ theme, ... }: {
  home.file = {
    ".config/hypr/hyprland.conf" = {
      enable = true;
      text = ''
      # https://wiki.hyprland.org/Configuring/Variables/
      env = GDK_SCALE,1
      env = XCURSOR_SIZE,22

      # unscale XWayland
      xwayland {
        force_zero_scaling = true
      }
      
      layerrule = blur, waybar

      # nVidia Speficic Settings:
      # https://wiki.hyprland.org/Nvidia/
      # env = LIBVA_DRIVER_NAME,nvidia
      # env = XDG_SESSION_TYPE,wayland
      # env = GBM_BACKEND,nvidia-drm
      # env = __GLX_VENDOR_LIBRARY_NAME,nvidia
      env = WLR_NO_HARDWARE_CURSORS,1

      general {
          gaps_in = 5
          gaps_out = 15
          border_size = 3
          # First six are color, last 2 are opacity
          col.active_border = rgba(2a9b34bb)  # Gruvbox fg2, opacity bb
          col.inactive_border = rgba(207427dd) # Gruvbox bg2, opacity aa
          resize_on_border = true
          extend_border_grab_area = 15
          layout = dwindle
      }
      input {
          kb_layout = us
          follow_mouse = 1
          touchpad {
              natural_scroll = true
              disable_while_typing = true
              tap-to-click = true
              clickfinger_behavior = true
              drag_lock = true
          }
          sensitivity = 0
      }
      gestures {
        # https://wiki.hyprland.org/0.24.1/Configuring/Keywords/#gestures
        workspace_swipe = true
        workspace_swipe_fingers = 3
        workspace_swipe_numbered = false
      }
      misc {
        disable_hyprland_logo = true
        mouse_move_enables_dpms = true
        key_press_enables_dpms = true
      }
      decoration {
          rounding = 5
          active_opacity = 0.8
          inactive_opacity = 0.6
          fullscreen_opacity = 1.0
          drop_shadow = true
          shadow_range = 4
          shadow_render_power = 3
          col.shadow = rgba(05050500)
          blur {
            size = 8
            passes = 3
            ignore_opacity = true
          }

      }
      animations {
          # https://wiki.hyprland.org/Configuring/Animations/ 
          enabled = true
          bezier = myBezier, 0.05, 0.9, 0.1, 1.05
          animation = windows, 1, 7, myBezier
          animation = windowsOut, 1, 7, default, popin 80%
          animation = border, 1, 10, default
          animation = borderangle, 1, 8, default
          animation = fade, 1, 7, default
          animation = workspaces, 1, 6, default
      }
      dwindle {
          # See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
          pseudotile = true # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
          preserve_split = true # you probably want this
          no_gaps_when_only = 1

      }
      master {
          # See https://wiki.hyprland.org/Configuring/Master-Layout/ for more
          new_is_master = true
      }
    '';
    };
  };
}