| 4 Aug 2022 |
Alyssa Ross | I think we have much more pressing problems | 18:40:37 |
infinisil | In the last meeting towards the end we briefly discussed how mkDerivation's phases and having separate language-specific Nix builders leads to poor composition. The idea of using some base mkDerivation (but improved) for all languages and derivations, but using phases or something else to compose language builders instead sounds really interesting to me | 18:41:51 |
infinisil | But yeah, I agree that there are better issues to focus on | 18:42:37 |
infinisil | Especially since probably 95% of package authors don't even have to write bash currently | 18:42:58 |
Alyssa Ross | and esp. since one of the main action items is "hurry up and wait for OSH to mature a bit" | 18:43:12 |
infinisil | My major worry is that bash might not be able to do a great job at implementing better phases | 18:45:15 |
infinisil | Though that's an implementation detail | 18:45:20 |
infinisil | The user interface can be simple but use some complicated bash mess underneath | 18:45:33 |
infinisil | Well, arguably it's messy how phases have no concept of passing values between each other, and how bash variables are used for that | 18:46:27 |
infinisil | Something better would be good, or more isolation and make value passing between phases more explicit | 18:46:47 |
infinisil | Having more isolation between phases also leads to the potential for phases to be split into multiple derivations | 18:48:21 |
Rick (Mindavi) | Not sure if we need to get rid of bash for more isolation, but I guess that's a good thing to try and figure out | 18:48:37 |
infinisil | Yeah, maybe the focus for now should just be implementing better phases | 18:49:08 |
infinisil | I also like the idea of hiding bash as an implementation detail in the process | 18:51:03 |
mkaito | A lot of the Bash in nixpkgs is arguably quite bad, which doesn't help. | 20:06:38 |
mkaito | Then again, a lot of everything in nixpkgs is arguably quite bad. That's why we're here. | 20:07:20 |
| [0x4A6F] joined the room. | 22:08:07 |
| 5 Aug 2022 |
FRidh | In reply to @infinisil:matrix.org Yeah, maybe the focus for now should just be implementing better phases Yes, this. And structured attributes. As these are the parts that are blocking changes in the language-specific builders/phases but also things like declarative wrappers. But I agree this is going to be tough to do with bash. Hence why I am also skeptical that osh would provide any real benefit, despite it being a relatively small, easy and thereby realistic change. | 08:49:44 |
Alyssa Ross | Structured attributes is definitely something it makes sense to focus on | 09:01:09 |
profpatsch | cf “more pressing issues”, will there be a focus on making sure nixpkgs still compiles with the stable commands? e.g. nix-build instead of nix build | 09:17:09 |
profpatsch | Stuff like “__impure is broken with nix-build but not nix build” https://github.com/NixOS/nix/issues/520#issuecomment-1154458251 | 09:17:33 |
profpatsch | I’m kind of afraid that nix will break all stability guarantees soon, and nixpkgs will suffer accordingly | 09:18:14 |
profpatsch | i.e. I’d like the Architecture Team to think about this topic and maybe make a recommendation to the nix authors. | 09:18:42 |
FRidh | In reply to @profpatsch:augsburg.one cf “more pressing issues”, will there be a focus on making sure nixpkgs still compiles with the stable commands? e.g. nix-build instead of nix build IMO as long as we haven't increased the minimum nix version, then yes, that should still function. It also means impure is not allowed in nixpkgs yet | 09:20:50 |
profpatsch | FRidh: Well, increasing the minimum nix version is just an Eelcommit away | 09:24:05 |
profpatsch | But will there be somebody to say “no” | 09:24:13 |
profpatsch | I’d like to see at least a 2 year stabilization period after the experimental commands become non-experimental | 09:25:10 |
profpatsch | During which the old-style commands still have to be able to do everything in nixpkgs | 09:25:28 |
profpatsch | Since I’m not gonna rewrite all scripts in a week, and neither will my company. | 09:26:00 |
FRidh | I think this is a perfect example for an RFC. Minver is 2.2 now since June 2020, which was out 2 years by then. Before that, the bump to 2.0 did happen very quickly (for placeholders), which I think was contrary to how it was done before (as far as I recall). | 09:31:07 |