It seems that we skipped taking notes on Monday. I did some work on meson-based packaging for Nix in Nixpkgs.
I know it’s not the same as these fine human-written notes, but you can find activity in the repo as well, like this or even this. Owh but you knew that ;). Anyway, onwards to today’s notes!
2024-11-27 Nix team meeting minutes #198
Wednesday triage meeting
Attendees: @roberth @mschwaig @edolstra
Triage
Rename content-addressed derivations's "realisation" to "build trace" · Issue #11895 · NixOS/nix · GitHub
@mschwaig: using a realisation both for the process and the data may be ambiguous. Make it hard to talk about the process vs the data.
Next steps: use terminology in documentation with @Ericson2314
builtins.getFlake: Allow inputs to overridden by edolstra · Pull Request #11952 · NixOS/nix · GitHub
Reuses part of the flake.nix
syntax, inputs
@roberth: Looks good so far. We’ll have to keep in mind that it’s used here.
@edolstra: follows
not supported. Could be added to the LockFlags
, which would also benefit the CLI (--follows
or similar)
(need to check --override
non-flake behavior)
Touches on Reuse input lock files · Issue #7730 · NixOS/nix · GitHub
@roberth: not a blocker
Probably @tomberek is interested
Assigned to @roberth and @tomberek
`eval-okay-fromTOML-timestamps` test fails on `toml11-4.2.0` · Issue #11441 · NixOS/nix · GitHub
We accept the upstream change. Reasons:
- verbatim is slightly better
- feature is still experimental
- perhaps not very important - least resistance
Assigned to @roberth
Systematize `nix build`, `nix shell`, `nix develop`, etc (tracking issue) · Issue #10504 · NixOS/nix · GitHub
Approved: nix dev
commands, nix env
commands
Rejected: nix package
commands
nix profile
idea to be specified later.
Sorry @BLANKatGITHUB for taking a while.
Review
Improve support for subflakes by edolstra · Pull Request #10089 · NixOS/nix · GitHub
Not implemented: warning about ..
access restriction.
@roberth: Not worried as much anymore about this forward compatibility / performance / UX concern that I head. It’s not to warn.
Reassigned to @roberth @tomberek
@roberth: Layer violation
@edolstra: Would be a big diff and a downcast otherwise
@roberth: Not a downcast if the data model is
data FlakeRef = Flake (SourceRef, Subpath) -- remote subflake
| Relative Subpath
data FlakeInput = FlakeRef | SourceRef -- flake = true/false
@edolstra: We could add a non-fetchable libfetchers input scheme to represent this
@roberth: That may be acceptable tech debt, since it does not seem to produce useful functionality. [Although we have a creative community…!]
@edolstra: I could perhaps extend the flake input type instead
data FlakeRef = Flake (SourceRef, Subpath)
data FlakeInput = FlakeRef | Subflake Subpath | SourceRef
Add functionInfo builtin by vkryachko · Pull Request #8961 · NixOS/nix · GitHub
@edolstra: Single function returning attrs feels nicer
@edolstra: Semantic naming may be nice, depending on documentation
- @roberth: Is
{...}: <...>
an open function? [referring to the other PR]
@roberth: Recommend against making the name of x: <...>
or x@{...}: <...>
public, [because it makes renaming unsafe until proven otherwise, whereas in the current situation we know that such a rename is safe (given only local context to avoid capture)]
Flakes: provide robust access to `outPath` through new `meta` argument by roberth · Pull Request #8908 · NixOS/nix · GitHub
Infinite recursion through self.outPath
and outputs
attrset
outputs = inputs: inputs.something.lib.mkOutputs inputs;
mkOutputs = inputs@{self, ...}:
... readDir self.outPath
self = { outPath = ...; } // outputs;
outputs = { nixpkgs, ... }@args: {
args.meta
}
=> Naively, make call-flake
use functionArgs
, but this only actually works in some cases; need more info.
@edolstra: outPath
isn’t really meta
@edolstra: What about a more explicit rule:
if inputs
is in the arguments, use the new calling convention, where inputs
is passed as a single attribute to the outputs
function
@roberth: { inputs, outPath, ... }
require ellipsis too, for forward compatibility, adding other kinds of info
@roberth: Should test against flake-regressions, because we’re stealing a bit of flake syntax.