Hi, we’re catching up with unpublished release notes.
157 looks to be very incomplete, so I’ve chosen to merge it into this post.
2024-07-03 Nix team meeting minutes #158
Attendees: @ericson2314, @l-as, @edolstra, @tomberek, @roberth
Notes:
"lock file contains unlocked input" when using (dirty) git+file:// input · Issue #10815 · NixOS/nix · GitHub
- @edolstra: I’ll take a look
fetcher cache sqlite error: table Cache has no column named domain · Issue #10985 · NixOS/nix · GitHub
Error: could not set permissions on '...' to 755: Operation not permitted when using experimental local overlay store · Issue #10991 · NixOS/nix · GitHub
Assigned to @ericson2314
Looks like user error, not a bug.
`builtins.fetchTarball` with a single-file tarball produces an empty derivation · Issue #10983 · NixOS/nix · GitHub
Somewhat related to the code tested here Support hardlinks in tarballs by roberth · Pull Request #1 · DeterminateSystems/nix-src · GitHub
Assigned to Eelco
Shallow fetches of specific revs do not work with all servers · Issue #11012 · NixOS/nix · GitHub
Some repos don’t support it for legitimate security reasons.
We could add a fallback, by detecting the error message.
This adds latency, so it would be nice to know more
- maybe relying on
shallow = false
user input is good, but the initial fetch works, so it’s really bad UX to find out later, possibly only on a different host because of cache - latency could be reduced by caching the ability to fetch shallowly per URL
- having two code paths is not great
In this specific case, a fixed-output derivation based fetcher may be better, if it’s only fetching sources, and not doing import
, readFile
or other IFD.
Would shallow = false;
be an acceptable solution for this?
Passing store paths into functions from other flakes causes errors in pure evaluation mode · Issue #11030 · NixOS/nix · GitHub
This may be an IFD-related problem, considering this import in nix-freeze-tree
Could also be caused by recent-ish changes in EvalState
to use Source
- / InputAccessor
for allow-listing the accessible paths.
Maybe it’s only allowing the direct references to the imported outputs; should be allowing whole closures.
Or maybe we should require
-
@Ericson2314: Also looks like they should be using
builtins.storePath
. Bugs aside, if you don’t use that, and just havea/nix/store/....
path literal, that won’t work with a chroot store. - EvalState should recognize that it’s an ok store path to add context for.
Two flakes is not necessary. One flake is enough to reproduce.
Call chain is realisePath -> realiseContext -> addPath -> addPathPrefix
; no computeFSClosure or similar. It should compute the closure.
- @edolstra: EvalState::resolveLookupPathPath does add the entire closure of a path
This was not previously discovered because a lot of IFD only looks at the output, ignoring references.
2024-07-01 Nix team meeting minutes #157
Attendees:
Notes:
Agenda
- @roberth going over with @fricklerhandwerk Thursday 2024-07-4