Attendees: @Ericson2314 @fricklerhandwerk @edolstra @thufschmitt (later: @tomberek)
Notes: @fricklerhandwerk @Ericson2314
Agenda
- Review plan for semantics with missing substitutors (15 min)
- API Docs (15 min)
- revise CLI stabilisation announcement (20 min)
- we broke Home Manager (10 min)
- decide on adding @Ericson2314 to the team (5 min)
Notes
-
@fricklerhandwerk started drafting a report on the past months of work
- @edolstra: stopped gathering release notes from the git log. Similarly wanted to avoid any other rote O(n) task.
-
@fricklerhandwerk: this is supposed to not be rote, and rather a moment of reflection
- Preparing a draft report is rote and I’ll take that work, helped by ChatGPT for summarising reams of text
- reviewing the draft together and reflecting on what and how we did is the purpose of the mental exercise
Discussion
-
Allow missing binary caches by default by arcuru · Pull Request #7188 · NixOS/nix · GitHub
- agreement on @Ericson2314’s proposal for new semantics
- @Ericson2314 will help out getting the PR to implement the proposal
- agreement on @Ericson2314’s proposal for new semantics
-
Generate API docs with Doxygen by Ericson2314 · Pull Request #7896 · NixOS/nix · GitHub
- agreement: idea approved, fix the config file
- assigned to @edolsra for follow-up review
CLI stabilisation announcement draft
- @Ericson2314: should work out the division of labor between the team’s announcement and RFC 136
-
@edolstra: not in favor of stabilising incrementally, but only reviewing incrementally
- think we’re creating a lot of work for us
- should describe this as incremental review, not stabilisation
- also don’t want to mark individual commands as experimental, that’s a lot of overhead
-
@Ericson2314: if we do CLI before flakes we’ll need the partially experimental infrastructure anyway
- @edolstra: no, flakes already have a separate experimental feature flag
-
@Ericson2314: flakes are a global feature, but
--help
lists all the flakes stuff anyway- @edolstra: help should not require that, the command will tell you when you try to use it
-
@fricklerhandwerk: agree with @Ericson2314, we should be much more clear in the communication because so far the ambiguous messaging puts a lot of strain on beginners
- this is surely worth the effort, and @Ericson2314 has done most of the work already
- (general but not unanimous agreement)
- @edolstra: don’t think documentation should have lots of conditionals, this is not a good use of our time
-
@edolstra: have no interest in a CLI without flakes, as it has no compelling value over the old CLI. If that’s what we go for then we would have spent several years without progress
-
@tomberek: are they incompatible?
- one problem is that we’re accumulating features faster than we can take care of them
- there may be multiple ways to chop up the large problems to make them more manageable
- we’re currently trying to do this by layer, but we may do this by feature
- really this is an issue of process and communication, for setting the right expectations and induce the right conceptions about what’s going on
- implementation may not be as intetwined as people think
- @edolstra: it is intertwined, the new CLI is fundamentally built around flakes
-
@tomberek: are they incompatible?
-
@fricklerhandwerk: What about comands like
nix shell
andnix develop
, that may be hard to stabilize? Should we block on them, stabilize them with the others anyways, or leave them for later?- @edolstra: We could stabilize them later. Still concerned about incremental formal stabilizing in general.
-
@fricklerhandwerk also wants to push more against the notion that incremental stabilization is costly
- There is a big desire for clearer communication amongst in community.
- This would be a clear win on that front
- Thinks it is less effort than Eelco does, especially as John already did the work on the infrastructure.
-
@edolstra: OK maybe marking commands isn’t so bad
- A little confusing when only a few random commands are stable
- Less opposed to automatic infrastructure like marking commands unstable than more manual stuff like “ifdef-ing” the prose documentation
-
@Ericson2314 how about this:
- incremental review is definitely good
- incremental formatlization is good
- should go more for the automatic stuff, e.g. marking individual commands and options experimental, and do less manual work
- we could combine incremental review and incremental stabilisation by that, which would help with landing stable features earlier
-
@edolstra: How come the document mention review then stabilization, doesn’t that mean we don’t get the incremental communication benefits?
- @ericson2314: Yes that was a problem with it, stemming from the fact that we couldn’t agree on adding more automatic marking. But now that we can, we can change this to fix this.
-
@tomberek and @fricklerhandwerk will fix up the draft according to feedback and reinforced agreements
- we gather as consensus:
- combine what’s currently step 2 and 4, leveraging fine-grained experimental flags per command and option in order to land things as quickly as possible
- make what’s currently step 3 incremental
- no promises about timelines
- finalise and publish after RFC 136 is accepted
- we gather as consensus:
XDG and profile paths post-mortem
Team membership
- @Ericson2314 is now officially part of the Nix team!