NixOS / nixpkgs

Nix Packages collection & NixOS
MIT License
17.58k stars 13.74k forks source link

catppuccin-cursors incorrect symlinks with home-manager #321781

Closed Dokkae6949 closed 3 months ago

Dokkae6949 commented 3 months ago

Describe the bug

The Catppuccin-{color}-{variant}-Cursors symlink inside of ~/.icons is incorrect. Well.. It is not directly incorrect. Rather the symlink at the location it's pointing to is incorrect. Meaning ~/.icons ---> .../homa-manager-files/.icons -/-> .../catppuccin-cursors/share/icons

The link between: .../homa-manager-files/.icons -/-> .../catppuccin-cursors/share/icons is broken as it points to a folder that doesn't exist. (it should link to an all lower case folder)

Steps To Reproduce

Steps to reproduce the behavior:

  1. Install catppuccin-cursors with home-manager
  2. Select / Apply the cursors in your display manager.
  3. It doesn't work / It will fallback to the default cursor as it can't find the catppuccin ones.

Expected behavior

The catppuccin cursors should be used by the window manager.

Screenshots

image

Additional context

I'm using Hyprland with hyprcursor but also have everything setup for xcursor usage.

Notify maintainers

@isabelroses

Metadata

[user@system:~]$ nix-shell -p nix-info --run "nix-info -m"
 - system: `"x86_64-linux"`
 - host os: `Linux 6.9.3-zen1, NixOS, 24.11 (Vicuña), 24.11.20240605.e8057b6`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.18.2`
 - channels(kurisu): `""`
 - nixpkgs: `/nix/store/8s55w0927lh3mdbkxf434zb0c5hqsz8z-source`

Add a :+1: reaction to issues you find important.

eclairevoyant commented 3 months ago

How did you install and configure it?

Dokkae6949 commented 3 months ago

Using home-manager by settings:

let
  cursor-theme = "Catppuccin-Mocha-Dark-Cursors";
  cursor-package = pkgs.catppuccin-cursors.mochaDark;
in
{
  # ....

  home.sessionVariables = {
    # ....
    XCURSOR_THEME = cursor-theme;
    # and some other variable (similar to xcursor) for Hyprlands hyprcursor.
    # tho I don't know it's exact name and I forgot to push it to gh so I can't look it up now
  };

  home.pointerCursor = {
    name = cursor-theme;
    package = cursor-package;
    size = 24;

    x11.enable = true;
    gtk.enable = true;
  };

  gtk = {
    enable = true;
    iconTheme = {
      name = "Papirus-Dark";
      package = pkgs.papirus-icon-theme;
    };
  };

  # ....
}
eclairevoyant commented 3 months ago

In that case it seems like your config should be updated?

home.pointerCursor.name = "catppuccin-mocha-dark-cursors";

same for XCURSOR_THEME and other usages if any

isabelroses commented 3 months ago

lower case :)

Dokkae6949 commented 3 months ago

Whoops that might make sense >.>

Tho it did work at one point. I suppose there was a breaking change that just changed the name from upper to lower case

Aleksanaa commented 3 months ago

Yeah. Catppuccin developers are doing that all the time 😅

eclairevoyant commented 3 months ago

Same thing happened with catppuccin-gtk. As I mentioned there, sure we could standardise case/naming/etc within nixpkgs, but it'd be even more confusing for a new user to read the upstream code/docs and find that nixpkgs is doing something completely different. Hence I'd suggest we (continue to) follow upstream.

isabelroses commented 3 months ago

Catppuccin is standardizing on lowercase and american spellings, so we should just follow that imho

eclairevoyant commented 3 months ago

There is no standard; we just use whatever upstream calls it and don't rename anything in nixpkgs.