{
  config,
  pkgs,
  inputs,
  ...
}:
{
  home.pointerCursor.hyprcursor = {
    enable = true;
    size = 32;
  };
  programs.kitty.enable = true; # required for the default Hyprland config
  services.hyprpaper = {
    enable = true;
    # settings = {
    #     ipc = "on";
    #     splash = false;
    #     splash_offset = 2.0;

    #     preload = [ "/share/wallpapers/buttons.png" "/share/wallpapers/cat_pacman.png" ];

    #     wallpaper = [
    #         "DP-3,/share/wallpapers/buttons.png"
    #         "DP-1,/share/wallpapers/cat_pacman.png"
    #     ];
    # };
  };

  wayland.windowManager.hyprland = {
    enable = true; # enable the hyprland wayland window manager
    # extraConfig = ''
    # # extra configuration for the hyprland wayland window manager
    # # window resize
    # bind = $mod, S, submap, resize

    # submap = resize
    # binde = , right, resizeactive, 10 0
    # binde = , left, resizeactive, -10 0
    # binde = , up, resizeactive, 0 -10
    # binde = , down, resizeactive, 0 10
    # bind = , escape, submap, reset
    # submap = reset
    # '';
    # settings = {
    #     "$mod" = "SUPER";
    #     bind =
    #     [
    #         "$mod, F, exec, firefox"
    #         ", Print, exec, grimblast copy area"
    #     ]
    #     ++ (
    #         # workspaces
    #         # binds $mod + [shift +] {1..9} to [move to] workspace {1..9}
    #         builtins.concatLists (builtins.genList (i:
    #             let ws = i + 1;
    #             in [
    #             "$mod, code:1${toString i}, workspace, ${toString ws}"
    #             "$mod SHIFT, code:1${toString i}, movetoworkspace, ${toString ws}"
    #             ]
    #         )
    #         9)
    #     );
    # };
    # systemd = {
    #     enable = true;
    #     enableXdgAutostartc = true;
    # };
  };
}