Nix language support improvements, including smaller Cachix #1352
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.
This fix saves 7 GB in the closure size of my devenv projects which have Nix language support enabled.
Background: Currently, with
languages.nix.enable = true;
, all outputs of thecachix
package in Nixpkgs get installed. Unlike the Cachix package provided by the cachix/cachix flake, this is a massive multi-output derivation that includes a huge Haskell runtime with libs in.out
and more than a gigabyte of library documentation in.doc
.The original issue here raises some questions for me about how devenv profiles are constructed and whether they do or should honor
meta.outputsToInstall
-- maybe there's something to think about there, too. (The Cachix package in nixpkgs has only"bin"
inmeta.outputsToInstall
.)Anyway, this fix works now and is a huge quality of life improvement for me!