| 10 Aug 2022 |
nbp | * I would recommend against adding fix-points out-side the top-level Nixpkgs one, as this is required for pealing the fix-point away in the security update branch. (necessary logic for grafting). This might be fine for package, but not for set of packages such as python/haskell/emacs/… | 15:54:51 |
j-k | gytis link - https://github.com/gytis-ivaskevicius/nix-reinventing-the-wheel/ | 15:56:40 |
nbp | I will also note that the reason we have multiple override functions is because we have /functions/. | 15:56:51 |
John Ericson | Also note we should get rid of file inputs and sources assuming they are setup hooks | 15:57:24 |
John Ericson | only nix-support/setup-hook should be sourced | 15:57:57 |
infinisil | Oh no, forgot to save chat | 16:02:18 |
infinisil | Damn, can't scroll all the way back | 16:02:53 |
nbp | infinisil: Thanks for hosting these live meetings & recordings. | 16:03:24 |
Alyssa Ross | ^^ | 16:03:34 |
problems | In reply to@jtojnar:matrix.org that is what Robert’s https://github.com/NixOS/nixpkgs/pull/119942 is for is there a plan for adoption of this throughout nixpkgs? | 16:03:56 |
Robert Hensing (roberth) | infinisil: I think we need a new column on the board for issues that are paused | 16:04:14 |
infinisil | Oh yeah, I haven't updated the board and github issues very diligently | 16:04:31 |
infinisil | But yes that sounds good, feel free to make that change Robert Hensing (roberth) | 16:04:43 |
infinisil | If somebody would like to add something to the meeting notes (especially from discussions in the chat or towards the end), feel free to: https://pad.lassul.us/uIi7xeSJTW6LJUEHulZgVQ?edit | 16:05:09 |
Jan Tojnar | here is the chat as html https://gist.github.com/jtojnar/000009de2be7fd287eafe1ad43b63d6e | 16:05:25 |
Alyssa Ross | thank you jtojnar! | 16:05:50 |
Gytis Ivaskevicius | I droped response to the eval all the things argument: | 16:06:52 |
Gytis Ivaskevicius | - @ash: Problem that everything needs to be imported, even if not enabled
- @Gytis: No, there is no need to import any extras. 1 eval loop per derivation builder and we define what goes into the eval loop via `imports`. Example: `pkgs.buildDerivation { imports = [ pkgs.rustBuilder]; }`
| 16:06:54 |
infinisil | Ahh I see, neat! | 16:07:27 |
problems | makes sense to me | 16:08:08 |
problems | how is that configured? | 16:08:28 |
Gytis Ivaskevicius | well this is how you evaluate something https://github.com/gytis-ivaskevicius/nix-reinventing-the-wheel/blob/master/builders/default.nix#L25-L28 | 16:09:00 |
Gytis Ivaskevicius | basically by default you have empty modules system and you explicitly add options | 16:09:26 |
Gytis Ivaskevicius | But yeah, it sounds like we ruled it out | 16:09:34 |
Gytis Ivaskevicius | function call != marging attributes sets + checking types | 16:09:54 |
Robert Hensing (roberth) | In reply to @gytis-ivaskevicius:matrix.org I droped response to the eval all the things argument: this is true, but still the module system adds a constant factor. Note that you'll apply it to thousands of derivations | 16:10:00 |
infinisil | I do also see your number-ordering based phases mechanism here Gytis Ivaskevicius: https://github.com/gytis-ivaskevicius/nix-reinventing-the-wheel/blob/master/builders/gnumake.options.nix#L83-L93 | 16:10:05 |
infinisil | That certainly is an alternative to the current phases | 16:10:19 |
Robert Hensing (roberth) | anything we can push into the builder instead of the evaluator is a win for performance | 16:10:28 |
Gytis Ivaskevicius | In reply to @infinisil:matrix.org I do also see your number-ordering based phases mechanism here Gytis Ivaskevicius: https://github.com/gytis-ivaskevicius/nix-reinventing-the-wheel/blob/master/builders/gnumake.options.nix#L83-L93 yeah, this way we never need to worry about forgetting fixup phases in phases variable and users are super easily capable of inserting extra phases which should heavily improve derivations overitability | 16:11:21 |