| 17 Jul 2023 |
Domen Kožar | In reply to @infinisil:matrix.org It doesn't make sense to invest a lot of effort into documenting something experimental, but not investing effort into trying to stabilise it Most of Nix users are using flakes and it's not documented, that's what I care about. The stabilization process is something I'm personally not interested to put in the time, I care that our users have docs to use Nix :) | 17:11:26 |
Domen Kožar | I'm fine saying it's experimental, etc. | 17:12:06 |
infinisil | It's experimental for a reason, Flakes still has a number of major problems left unaddressed | 17:12:25 |
infinisil | I do not want these to become immortalized | 17:12:38 |
Domen Kožar | That's really orthogonal, most users use flakes, that's the interface they expect. | 17:12:53 |
Domen Kožar | Either way, if we make changes it will be V2. | 17:13:07 |
infinisil | I'd rather have well-designed software than many users. The better something is designed, the longer it will last because it's harder for something better to replace it | 17:16:39 |
Domen Kožar | What I'm saying is that's not the reality we live in. We can talk about dreams, but there are a lot of Nix Flakes users that need documentation to be able to use it. | 17:17:07 |
Domen Kožar | There were many mistakes made on the path of flakes, but not having the docs is something we need to fix asap. | 17:18:04 |
infinisil | Yeah I get it, that's just not where my priorities are. There's more dire problems to solve than to document hacked-together experimentally-labeled features | 17:18:52 |
infinisil | * Yeah I get it, that's just not where my priorities are. I think there's more dire problems to solve than to document hacked-together experimentally-labeled features | 17:19:30 |
@brian:bmcgee.ie | I lean more Domen Kožar's direction on this one for the simple reason that the majority of my 2 years with Nix has been flake-oriented. The only time I write a shell.nix is to make a project compatible for non flake users. There are valid concerns about flakes and a need to stabilise them. Maybe I'm putting effort in the wrong place and should be helping to stabilise flakes like you said infinisil rather than putting effort into documenting a workflow I choose not to use on a daily basis (and I say this without any kind of snark or ill feeling). | 18:13:02 |
@brian:bmcgee.ie | Btw, I'll be at NixCon 🥳 | 18:13:38 |
infinisil | I guess I also really don't like how the documentation team is seemingly put into the responsibility to document Flakes. | 18:16:49 |
infinisil | The people adding a new feature should be responsible for documenting it and ensuring it's well-designed so it can be stabilised | 18:18:22 |
infinisil | This would also set a precedent that the docs team will document whatever ill-designed and barely-documented feature gets merged into Nix | 18:19:40 |
@brian:bmcgee.ie | Yeah that's a fair point. I wanted to know what the schema was for the json output when using `nix flake show` and had to look at the source ... no bueno | 18:19:47 |
@brian:bmcgee.ie | If you don't document something after you write it because it's experimental and subject to change then you can't really expect the docs team to do the same | 18:21:33 |
infinisil | Also, the more general precedent of how RFCs can just be canceled, merged as experimental if you have the right commit bit, encouraged to be used by everybody if you have an audience, and then require teams to adapt to it | 18:21:37 |
infinisil | Relevant is Alyssa Ross's comment here: https://github.com/NixOS/rfcs/pull/136#discussion_r987278726 | 18:22:22 |
@brian:bmcgee.ie | I agree with the comment, if it's experimental, break it as necessary. As a flakes user I accept the churn, and I'll update as necessary. I know there will be a lot of people unhappy about any kind of breakage but I think this would be a valuable lesson as to why you don't let experimental features sit for long enough to become de facto use cases for a large chunk of people rather than stabilising them | 18:26:31 |
infinisil | Yeah, that's gonna be really hard though, there's third-party products being built daily on top of experimental flakes without any care in the world (if only that kind of effort went into flakes stabilisation) | 18:27:48 |
infinisil | I really like John Ericson's suggestions for what Nix should become here: https://github.com/NixOS/rfcs/pull/136#discussion_r1246035453 | 18:29:15 |
John Ericson | :) | 18:29:50 |
John Ericson | I get that flakes have driven a lot of new usage, but that is just because everything else was so unpolished | 18:30:11 |
John Ericson | the bar was so low | 18:30:15 |
John Ericson | Flakes are a "fast food" that kinda tastes good to start but ultimately fails to truly solve any problems | 18:30:45 |
John Ericson | We have to believe the choices are not just "Flakes" or "unpolished unusuable to non-experts" | 18:31:32 |
asymmetric | In reply to @infinisil:matrix.org This would also set a precedent that the docs team will document whatever ill-designed and barely-documented feature gets merged into Nix I agree with most of your other points, but this precedent has definitely already been set by stable nix+nixpkgs, at least the part about us having to ex post document barely-documented stuff | 18:32:23 |
infinisil | We can't deny that Flakes does solve some problems. Though it also introduces a whole bunch of new problems along the way, problems which shouldn't be necessary | 18:32:36 |