[WIP] add --root-realisations to nix-instantiate#3086
Conversation
Member
|
Neat! I think this would fix #719 |
Author
That's the intent, thanks for linking! I was planning to make appropriate changes to nixos-rebuild if this gets merged, potentially also rooting build time dependencies of the derivations evaluation depends on to improve the situation even further. |
Contributor
|
Any progress for this pr? I too think gc conflicts with IFD, especially for regions without good internet connections :/ |
|
I marked this as stale due to inactivity. → More info |
|
I closed this issue due to inactivity. → More info |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Currently using IFD (or similar mechanisms such as readFile from a derivation) together with garbage collection is a bad experience, since all derivations required for evaluation will have to be completely rebuilt after each run.
This PR adds an option
--root-realisationstonix-instantiatewhich mirrors--add-rootbut creates a GC root for derivations used for evaluation instead of those that are the result of the evaluation.There is some duplication of code with
--add-root, but abstracting over both is complicated by--add--rootusing successive numbering for results instead of putting them in a folder and it outputting paths to the GC roots instead of the store paths.At this point, especially since this is my first PR to Nix, and I'm not really familiar with C++, I'm mostly looking for general feedback on chance of this feature in the abstract being merged, whether to change
--add-rootbehavior (numbered outputs have always seemed strange to me since there's potentially garbage left over with successive invocations), and general direction of implementation.