Triage
Discrepancy in `outputs` handling between derivation / derivationStrict · Issue #7569 · NixOS/nix · GitHub
- Too old to change, it seems, and that’s fine
- Related: New derivation-making builtin · Issue #9774 · NixOS/nix · GitHub
WIP vision for builders data model (build capabilities) by roberth · Pull Request #9899 · NixOS/nix · GitHub
- Still a WIP
- Remote builder format suboptimal. Attempt at improving the internal representation and data model.
Expose new-cli `--json` commands in the repl · Issue #10108 · NixOS/nix · GitHub
- expose nix CLI commands in REPL
- needs feedback
git-lfs support by b-camacho · Pull Request #10153 · NixOS/nix · GitHub
- Already agreed this was something we wanted provided it’s not too intrusive. And that one isn’t, so that’s cool
-
@roberth will look at it
- Will need a test
- Seems surprising and concerning that it works at all
- Appears to rely on alternative Nix code path that accesses worktree files directly. We should probably not do that.
flakeref: follow symlinks by con-f-use · Pull Request #9499 · NixOS/nix · GitHub
- assigned
Don't have root bypass the daemon by default · Issue #10140 · NixOS/nix · GitHub
- root or write-access to /nix/store will bypass daemon
- Needs to benchmark a bit to show the performance impact on things like
nixos-rebuild
feat: tab support for indentation stripping by thecaralice · Pull Request #9971 · NixOS/nix · GitHub
Fix `nix eval nixpkgs#bash` segfault by 9999years · Pull Request #10200 · NixOS/nix · GitHub
-
nix eval
should print drvPath instead of infinite looping -
@roberth: It just does too much. There’s no need to recurse into everything. Print a single
Value
only? -
@tomberek: Should it be drvPath?
-
outPath
would be more consistent, but sometimes non-existent
-
- Approved, but needs a release note (and a test)
Add `builtins.toStringDebug` by 9999years · Pull Request #10206 · NixOS/nix · GitHub and Add 'poison' context by 9999years · Pull Request #10212 · NixOS/nix · GitHub
- @roberth: Makes errors distinguishable in-language, exposing evaluation order, etc, by doing string matching etc.
Only print the first line of errors in values by 9999years · Pull Request #10207 · NixOS/nix · GitHub
- How can users know that there’s more to the error?
- How do they get the whole message? Getting the attribute by hand could be annoying.
- Potential alternative design: Print the errors at the end like footnotes or interactively
nix-repl> foo
{ foo = <<error, see :error 1>>; bar = <<error, see :error 2>>; }
nix-repl> :error 1
This
is
a
long
message
For top-level errors, print the whole thing, as before.
If the top-level thing is a package, make sure it also prints the whole error, as before.
Make `TypeError` structured by 9999years · Pull Request #10199 · NixOS/nix · GitHub
- Reminescent of something @ericson2314 tried in the past, assigned to him.
Meta: getting back on our goals
-
We’re getting stuck on the day-to-day again
- How can we make sure we stick to our stated objectives?
-
Tried to raise contributions around the CLI in the past with mixed success
- Maybe announce on discourse? An ongoing thread in the style of Nixpkgs PRs ready for review.
FetchTree stabilization
-
Make `builtins.fetchTree` return a path as its `outPath` element · Issue #10115 · NixOS/nix · GitHub
- proposal to change output type to “path” vs “string w/context”
-
“virtual strings” - lazy strings
-
proposal: lazy paths
- lazy-trees support for paths without support for laziness in strings
- fetchTree
- interpolation name of a lazy-path == “source” or the
name
, only at the root
-
explore “lazy paths”
- Is it feasible to implement?
- Does it differ from lazy-trees, and how?
- Reconcilation? Bad to end up with another kind of laziness
- If the changes are part of lazy-trees (prev question), this is not a problem
- Does this end up being useful in practice?
- Module system error messages show path to module
- just to print error message
- paths sometimes used as attrset keys
- dirOf changes
- determine if this causes Nixpkgs/NixOS hash changes
- timebox (<1 week)
- there is a branch that has much of this
- … coordination …
- perform Nixpkgs+FlakeHub regression tests
-
alternative:
__toString
infetchTree
return value- too awkward?
-
alternative: addToStore can detect and prevent double-copy
- cons: likely historical hash changes
- maybe detect special “lazy path” case? seems too ad hoc
- pros: consistency
- cons: likely historical hash changes
-
alternative: keep output as string
- requires “virtual strings” to be performant
- strings with a lazy-path context
- requires “virtual strings” to be performant