TL;DR
I think it’s because the output path depends on the tweaks you have. I didn’t have any tweaks, so it appended default
to the theme name. Because you have tweaks = [ "rimless" "black" ];
, you need to append +rimless,black
to the theme.name
:
gtk.theme.name = "catppuccin-macchiato-pink-compact+rimless,black";
Debugging Steps
I tried to build your theme with the theme.name = "catppuccin-macchiato-pink-compact+default"
and this is what the derivation I get:
$ cat /nix/store/bhxh9h7f384q5p68vnpby04ljwgpr4lf-hm_gtk4.0gtk.css.drv
... @import url(\"file:///nix/store/yq6zfi0d2sa94a156zlc0liq4h6gymsw-catppuccin-gtk-1.0.3/share/themes/catppuccin-macchiato-pink-compact+default/gtk-4.0/gtk.css\")
When we examine it, we can see that it’s trying to import gtk-4.0/gtk.css
using the catppuccin-gtk-1.0.3
store path and whatever theme.name
we pass in the config. We can see the same behavior in your first post where it’s trying to import from Catppuccin-Macchiato-Compact-Pink-Dark
.
The nix store directory does exist for me, though, and it has the correct theme name that you should use:
/nix/store/yq6zfi0d2sa94a156zlc0liq4h6gymsw-catppuccin-gtk-1.0.3/share/themes/catppuccin-macchiato-pink-compact+rimless,black
We correct the theme name and build again:
theme = {
- name = "Catppuccin-Macchiato-Compact-Pink-Dark";
+ name = "catppuccin-macchiato-pink-compact+rimless,black";
package = pkgs.catppuccin-gtk.override {
accents = [ "pink" ];
We get the following derivation:
cat /nix/store/ywwy88g0x3nnn1xf6bh9q4sswa3ckv0d-hm_gtk4.0gtk.css.drv
... @import url(\"file:///nix/store/yq6zfi0d2sa94a156zlc0liq4h6gymsw-catppuccin-gtk-1.0.3/share/themes/catppuccin-macchiato-pink-compact+rimless,black/gtk-4.0/gtk.css\")
We can see that it’s finally pointing to the correct file.