danth / stylix

System-wide colorscheming and typography for NixOS
https://stylix.danth.me/
MIT License
1.11k stars 138 forks source link

Bug: Nixos not rebuilding after regreet was added to stylix #577

Open psynyde opened 6 days ago

psynyde commented 6 days ago

I'm creating this issue who are facing this error below or something similar even though their system doesn't use regreet at at.

       error: The option `programs.regreet.cursorTheme' does not exist. Definition values:
       - In `/nix/store/k5zm4zdrgbn0483a4pxgz1pb49a266hm-modules/regreet/nixos.nix':
           {
             _type = "if";
             condition = false;
             content = {
               name = "macOS-BigSur-White";

changing stylix input to github:danth/stylix/cf8b6e2d4e8aca8ef14b839a906ab5eb98b08561. should fix the issue.

I assume the main issue is nixpkgs-unstable introduced more customization to regreet which isn't available on stable (ie. 24.05) The input above points to the commit before regreet was introduced in styix.

trueNAHO commented 5 days ago

I assume the main issue is nixpkgs-unstable introduced more customization to regreet which isn't available on stable.

Do you mean by "stable", the nixos-*.* (like nixos-24.05) Nixpkgs branches? IIRC, regular feature additions are not backported from nixos-unstable to these branches. In other words, this option is intentionally lacking.

I'm creating this issue who are facing this error below or something similar even though their system doesn't use regreet at at.

Either way, thanks for posting this for reference.

In the future, https://github.com/danth/stylix/issues/543 would partially resolve similar issues.

I will close this issue, as I don't think there is much Stylix can do about this at this point. Feel free to re-open, if I am wrong on this.

Kernald commented 3 days ago

Setting stylix.targets.regreet.enable to false doesn't help on NixOS 24.05. Does this mean there's no way to update Stylix past cf8b6e2d4e8aca8ef14b839a906ab5eb98b08561 until switching to 24.11 or unstable?

trueNAHO commented 3 days ago

Setting stylix.targets.regreet.enable to false doesn't help on NixOS 24.05. Does this mean there's no way to update Stylix past cf8b6e2 until switching to 24.11 or unstable?

I see your use case. Maybe we could backport to release-24.5 a check whether the regreet package exists. @danth, what do you think?

sigboe commented 6 hours ago

Basically, can't update stylix, past the update that added regreet, because stylix is set to expect regreet to have options that are only available in nixpkg-unstable.

So the options don't exist so stylix fails the build.

It's not relevant if you have regreet enabled or not, and it's not relevant if you have regreet installed or not.

Right now stylix 24.05 doesn't work.

If you check programs.regreet in search.nixos.org/options and compare what options are available in 24.05 and unstable, there are more options in unstable. Hopefully these options can be removed from stylix 24.05.

Thank you!