nix profile add is missing in Lix #1139
Labels
No labels
Affects/CppNix
Affects/Nightly
Affects/Only nightly
Affects/Stable
Area/build-packaging
Area/cli
Area/evaluator
Area/fetching
Area/flakes
Area/language
Area/lix ci
Area/nix-eval-jobs
Area/profiles
Area/protocol
Area/releng
Area/remote-builds
Area/repl
Area/repl/debugger
Area/store
awaiting
author
awaiting
contributors
bug
Context
contributors
Context
drive-by
Context
maintainers
Context
RFD
crash 💥
Cross Compilation
devx
docs
Downstream Dependents
E/easy
E/hard
E/help wanted
E/reproducible
E/requires rearchitecture
Feature/S3
imported
Language/Bash
Language/C++
Language/NixLang
Language/Python
Language/Rust
Needs Langver
OS/Linux
OS/macOS
performance
regression
release-blocker
stability
Status
blocked
Status
invalid
Status
postponed
Status
wontfix
testing
testing/flakey
Topic/Large Scale Installations
ux
No milestone
No project
No assignees
4 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
lix-project/lix#1139
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Is your feature request related to a problem? Please describe.
Recently home-manager changed the new generations activation script to use
nix profile addinstead ofnix profile installas 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
lsbecause I had that aliased to a version ofezainstalled with Home Manager" break.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).
Command line nix profile flag parity with cppnixtonix profile addis missing in LixCrude workaround: https://github.com/nix-community/home-manager/issues/8786#issuecomment-3964961582
@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.