According to NVidia – Hyprland Wiki:
Previously used
WLR_NO_HARDWARE_CURSORS
environment variable has been deprecated. Do not set it in your configs. Usecursor:no_hardware_cursors
instead.
So you should give that a try.
There is also a home.pointerCursor.hyprcursor option that might help.
Edit: This issue might be specific to your current cursor theme as according to the latest catppuccin-cursors-1.0.2 release:
This release should resolve all the issues raised on Hyprland as we are distributing SVGs (again) in the zip.
The update has already been backported to release-24.11, but I think you’ll have to use an overlay until it’s available in nixos-24.11
:
nixpkgs.overlays = [
(final: prev: {
catppuccin-cursors = prev.catppuccin-cursors.overrideAttrs (oldAttrs: rec {
version = "1.0.2";
src = final.fetchFromGitHub {
owner = "catppuccin";
repo = "cursors";
rev = "v${version}";
hash = "sha256-Mm0fRh/Shem65E/Cl0yyw+efEHOEt/OJ+MzL+3Mcbwc=";
};
nativeBuildInputs = oldAttrs.nativeBuildInputs ++ [ pkgs.zip ];
buildPhase = ''
runHook preBuild
patchShebangs .
just all
runHook postBuild
'';
});
})
];
I’m using Gnome too and I used to have this issue with either Wezterm or Kitty, but I don’t remember how I exactly solved it. It might have been home.pointerCursor.