[Nix#9329] Practical pure eval for paths in non-Flake CLIs #102
Labels
No labels
Area/build-packaging
Area/evaluator
Area/flakes
Area/profiles
Area/remote-builds
Area/repl
Area/store
bug
Cross Compilation
devx
docs
Downstream Dependents
E/easy
E/hard
E/help wanted
E/reproducible
E/requires rearchitecture
imported
Needs Langver
OS/Linux
OS/macOS
performance
regression
release-blocker
RFD
stability
Status
blocked
Status
invalid
Status
postponed
Status
wontfix
testing
ux
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: lix-project/lix#102
Loading…
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?
Upstream-Issue: NixOS/nix#9329
Is your feature request related to a problem? Please describe.
It's currently impractical to evaluate local paths using
--pure-eval
, a stable feature.It can be done, but it needs like 20 lines of shell code to tell Nix which local paths can be used: https://gist.github.com/infinisil/6bd89c9fb5e66b635bd30fa9ae5b7bf6#file-nix-instantiate-pure-L5-L26
This gets you more or less the same
--pure-eval
power as the current Flake CLI.Describe the solution you'd like
Make
--pure-eval
mode practically usable fornix-
andnix -f
CLIs by building the above functionality into the commands directly.This is backwards compatible, because it would only change behavior when
--pure-eval
is enabled and paths are passed, which currently always gives an error.Describe alternatives you've considered
A pure evaluation primop, some brainstorming for which can be seen in https://github.com/tweag/epcb.
Additional context
Slightly related is https://github.com/NixOS/nix/issues/5868, which would allow making the shell-based implementation nicer.
Priorities
Add 👍 to issues you find important.