Nixpkgs Architecture Team Meeting #32
- Past meeting notes
- Recording
- Matrix announcement
- Recorded and lead by: @infinisil
- Meeting notes by: @roberth
- Present members: @infinisil @roberth @Ericson2314
Notes
RFC 140
- Finding a shepherd proves hard. Co-authors are excluded by the rfc process. Ways forward, choice:
- Sketchy: remove some authors. @roberth would be the(?) co-author. Defeats the RFC process.
- Talk to the steering the committee for an exception
- @j-k is interested in this RFC
-
@infinisil summarizes the RFC. questions:
-
@j-k: possible confusion around single character packages
- @infinisil: rare edge case
-
@j-k: possible confusion around single character packages
- Going to change pkg-fun → package
- Lots of positive reactions
- Inviting meeting guests to shepherd
-
@j-k: how does the implementation fit into this?
- @infinisil: the RFC team is only concerned with the improving and accepting of the RFC
-
@j-k: what if they like it but there are concerns about performance? Can the RFC be accepted on e.g. the condition that performance is evaluated/improved?
- @infinisil: performance has already been evaluated
-
@j-k: how does the implementation fit into this?
- Generally bi-weekly meetings. There will be a shepherd leader. [I suppose details can be looked up]
-
@j-k: confirms that he intends to nominate himself. Doubts about exact responsibilities
- It’s a bit administrative lead role. [Not too complicated]
-
@j-k: confirms that he intends to nominate himself. Doubts about exact responsibilities
- The RFC is blocked on the RFC process for now.
Package modules workgroup
-
@infinisil: We’ve made a start writing a problem description / discourse announcement for the module based packages idea
-
@infinisil: Would like to resume this after the call
-
@infinisil: Plan to work on the RFC in a repo (as in RFC 138)
-
@j-k: interested in helping out
- overlay style mkDerivation argument comes to mind
- “matrix” parameters come to mind, e.g. source dependent on
system
-
@infinisil: We’re going to explore and find out what we can do
-
@roberth: How can Nixpkgs support DavHau’s efforts as they are? Support other configuration systems. Better separation of concerns
-
@infinisil: Recalls the team’s commitment to focus on one thing at NixCon 2022. It helps to make a small step
RFC 140 tooling work
-
@infinisil: Would like some help with nix-spp. Wanja is joining later today, 7 PM CET
-
If you have time during the week, feel free to contribute.
Review mkDerivation
__cleanAttrs
-
@infinisil: What about third-party users of e.g. hello.buildInputs?
- @roberth: Should get away from this at some point, we don’t really know these values anyways
-
@qyliss:
.overrideAttrs
still needs to work- @roberth: Does still work, attributes are stored internally
-
@qyliss: Can you use
.overrideAttrs
to disablecleanAttrs
?-
@roberth: Yes
-
@roberth: Yes
- @qyliss: Makes it easier to debug
-
@Ericson2314: Interacts nicely with module-based packages, can’t return to original args once called. Small step towards many good things (@roberth agrees)
-
@Adam:
.overrideAttrs
wouldn’t work on module-created packages? - @Ericson2314: Yes (…?)
- @Adam: I feel like there’s always some cases that the module system can’t cover
-
@roberth: There’s
extendModules
- @Adam: Need to be able to do things like e.g. removing things with a predicate from cflags
- @roberth: Will be possible, with mkForce and the old value that’s already in lexical scope
- @Ericson2314/infinisil: We always need to support the necessary use-cases
-
@Adam:
-
@infinisil: Does
.drvAttrs
still work?-
@roberth:
.internal
is the same as.drvAttrs
- @infinisil: What about providing backwards-compat?
- @Ericson2314: It’s opt-in, you’re choosing to break your consumers
- @infinisil: No defined API to Nixpkgs, people might not know about it meaning to be internal
- @Ericson2314: Forking road, we’re deciding what is stable and what isn’t
- @infinisil: Keeping attributes and throwing a warning for a release would not be very expensive
-
@roberth: Could look into that, three-value variable, either
false
,true
, or `“warn” - @infinisil: Can include link in the error message for getting more feedback
- @roberth: We can figure out the final interface better like this
-
@roberth:
After the meeting time slot
-
@qyliss: Rust fetching change don’t have any stats yet, let’s discuss next time
- Space is similar to Haskell, probably
- @infinisil: 10M Nixpkgs increase is for everyone
- … discussion of rust dependency management situation …
- @qyliss: We need dependency info in order to execute on security updates. Not something we can do in the current situation.
Action items
-
document Team + Working groups change
-
@infinisil will continue writing the tooling