nix profile add is missing in Lix #1139

Open
opened 2026-02-24 13:03:02 +00:00 by licebmi · 4 comments

Recently home-manager changed the new generations activation script to use nix profile add instead of nix profile install as cpp cli is switching to this subcommand. This breaks the activation script.
https://github.com/nix-community/home-manager/issues/8786

Describe the solution you'd like

To avoid ecosystem fragmentation, lix should try to keep parity on flags at least on the parts that are considered to be interchangeable. Unless this effort is taken, the overlay model should be considered as broken as 3rd party projects can depend on nix command line behaviours

Describe alternatives you've considered

An alternative thrown on the discussion is to try to detect the version on the activation script and select the right behaviour. This is a solution that might work for this project, but is totally dependent on each project's deciding to support us.

Additional context

## Is your feature request related to a problem? Please describe. Recently home-manager changed the new generations activation script to use `nix profile add` instead of `nix profile install` as cpp cli is switching to this subcommand. This breaks the activation script. https://github.com/nix-community/home-manager/issues/8786 ## Describe the solution you'd like To avoid ecosystem fragmentation, lix should try to keep parity on flags at least on the parts that are considered to be interchangeable. Unless this effort is taken, the overlay model should be considered as broken as 3rd party projects can depend on nix command line behaviours ## Describe alternatives you've considered An alternative thrown on the discussion is to try to detect the version on the activation script and select the right behaviour. This is a solution that might work for this project, but is totally dependent on each project's deciding to support us. ## Additional context

Yeah, this straight up caused my non-NixOS Home Manager setup to completely break. Like, "can't even run ls because I had that aliased to a version of eza installed with Home Manager" break.

Yeah, this straight up caused my non-NixOS Home Manager setup to completely break. Like, "can't even run `ls` because I had that aliased to a version of `eza` installed with Home Manager" break.
Owner

A general note here that reflects mostly my views: the Lix project cannot realistically keep up with projects depending on unstable API contracts and it's not reasonable for us to cherry pick blindly every change just for the sake of third party projects who decided to observe an unstable API contract which actually breaks.

In the Lix project, we systematically evaluate changes including to unstable API to avoid breaking needlessly the ecosystem.

In that regards, this looks like more a critical bug inside of the home-manager project than a Lix bug. nix3 CLI has no "feature parity" objective, it doesn't have a defined feature set at all.

Either way, we are going to do what we can for the end users affected by this but we do not want to mindlessly adopt changes otherwise the whole reason d'être to be a fork (that has significantly diverged in terms of codebase so much that CppNix is not an simple upstream we can cherry pick these days from) is questioned.

It would be regrettable that third party projects would continue to depend on unstable APIs and demand us work when it's CppNix who broke compatibility with its previous versions by doing that change without proper deprecation process or home-manager depending on APIs they should not depend upon (no matter what is the valid reason they do so — we can act on such a valid reason probably, but not on this sort of things).

A general note here that reflects mostly my views: the Lix project cannot realistically keep up with projects depending on unstable API contracts and it's not reasonable for us to cherry pick blindly every change just for the sake of third party projects who decided to observe an unstable API contract which actually breaks. In the Lix project, we systematically evaluate changes including to unstable API to avoid breaking needlessly the ecosystem. In that regards, this looks like more a critical bug inside of the home-manager project than a Lix bug. nix3 CLI has no "feature parity" objective, it doesn't have a defined feature set at all. Either way, **we are going to do what we can for the end users affected by this** but we do not want to mindlessly adopt changes otherwise the whole reason d'être to be a fork (that has significantly diverged in terms of codebase so much that CppNix is not an simple upstream we can cherry pick these days from) is questioned. It would be regrettable that third party projects would continue to depend on unstable APIs and demand us work when it's CppNix who broke compatibility with its previous versions by doing that change without proper deprecation process or home-manager depending on APIs they should not depend upon (no matter what is the valid reason they do so — we can act on such a valid reason probably, but not on this sort of things).
raito changed title from Command line nix profile flag parity with cppnix to nix profile add is missing in Lix 2026-02-24 17:11:46 +00:00
Crude workaround: https://github.com/nix-community/home-manager/issues/8786#issuecomment-3964961582
Author

@raito
Totally fair, and I understand how it's a waste of time playing wack a mole with nix3 behaviors. I would still say that this seems like a really big break of the overlay model.

@raito Totally fair, and I understand how it's a waste of time playing wack a mole with nix3 behaviors. I would still say that this seems like a really big break of the overlay model.
Sign in to join this conversation.
No milestone
No project
No assignees
4 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
lix-project/lix#1139
No description provided.