| 10 Aug 2022 |
Alyssa Ross | at which point, why have two ways of doing the same thing | 16:22:30 |
Gytis Ivaskevicius | In reply to @infinisil:matrix.org Gytis Ivaskevicius: let result = { myBuilder, extraArgs }: myBuilder {import = [extraArgs]; }; in result.overrideArgs { moreExtraArgs? } this would be abc.overwrite { extraArgs = {abc = 1;};} | 16:22:30 |
infinisil | In reply to @gytis-ivaskevicius:matrix.org this would be abc.overwrite { extraArgs = {abc = 1;};} Ah, you mean to get rid of .overrideAttrs, but not .override, I see | 16:22:49 |
Gytis Ivaskevicius | and with blueprints as such we would probably could get rid of overwrite as well https://github.com/gytis-ivaskevicius/nix-patterns/blob/master/blueprints/flake.nix#L7-L10 | 16:23:01 |
Winter (she/her) | In reply to @qyliss:fairydust.space it doesn't compose if you have things written in Rust + another language, and so we have hooks for that well my view of it is that for pure rust you don't have to add the hooks manually | 16:23:08 |
Winter (she/her) | but the non-pure rust situation could probably be improved, though i'm not sure how | 16:23:26 |
Alyssa Ross | but you don't have to manually add hooks for Meson either | 16:23:50 |
Alyssa Ross | and yet we don't need a buildMesonPackage function | 16:24:02 |
infinisil | Generically, if we remove package builders like buildRustPackage, buildPythonPackage, etc. then composition becomes possible because individual phases (or whatever new mechanism is used) will have to deal with composition, instead of the top-level functions | 16:25:00 |
infinisil | Kind of "pushing down composability" | 16:25:06 |
Robert Hensing (roberth) | In reply to @infinisil:matrix.org Ah, you mean to get rid of .overrideAttrs, but not .override, I see I'd like to get rid of override though, replacing functions by a single "flat" fixpoint, similar to modules | 16:25:09 |
Gytis Ivaskevicius | In reply to @qyliss:fairydust.space and yet we don't need a buildMesonPackage function i think we should have stuff like buildMesonPackage but its definition should be something like this:
buildMesonPackage = attrs: buildDerivatoin { imports = [pkgs.modules.meson attrs];
| 16:25:26 |
Alyssa Ross | what's the point in that? | 16:25:44 |
Gytis Ivaskevicius | In reply to @roberthensing:matrix.org I'd like to get rid of override though, replacing functions by a single "flat" fixpoint, similar to modules yes, please check out blueprints, its going to the right direction | 16:25:54 |
Gytis Ivaskevicius | In reply to @qyliss:fairydust.space what's the point in that? readability and reducing complexity for new users. Also this does not impact neither perfomrance nor increase maintinance | 16:26:39 |
Gytis Ivaskevicius | i guess nixpkgs packes sizes would be lower as well 😄 | 16:26:51 |
Gytis Ivaskevicius | * i guess nixpkgs paches sizes would be lower as well 😄 | 16:26:58 |
Robert Hensing (roberth) | In reply to @gytis-ivaskevicius:matrix.org yes, please check out blueprints, its going to the right direction is that tomberek's thing? I don't have it in my history and google isn't helpful. Do you have a link? | 16:27:06 |
Alyssa Ross | I think it adds complexity | 16:27:16 |
Alyssa Ross | Now you have all these functions with slightly different APIs to learn | 16:27:23 |
infinisil | Gytis Ivaskevicius: Is the main idea to just require users to pass customizations to the nixpkgs import instead? | 16:27:34 |
Gytis Ivaskevicius | In reply to @roberthensing:matrix.org is that tomberek's thing? I don't have it in my history and google isn't helpful. Do you have a link? yeah, its basically tombarek's thing. here is implementation: https://github.com/gytis-ivaskevicius/nix-patterns/blob/master/blueprints/flake.nix#L7-L10 | 16:27:36 |
Gytis Ivaskevicius | In reply to @infinisil:matrix.org Gytis Ivaskevicius: Is the main idea to just require users to pass customizations to the nixpkgs import instead? not sure what you mean | 16:27:50 |
John Ericson | I just want to chalk up some incremental wins | 16:27:51 |
John Ericson | and not die a second system effect death | 16:28:00 |
Gytis Ivaskevicius | if anyone is interested we could have another call | 16:28:08 |
Gytis Ivaskevicius | but i feel like i already said what i wanted | 16:28:17 |
Jan Tojnar | In reply to @gytis-ivaskevicius:matrix.org readability and reducing complexity for new users. Also this does not impact neither perfomrance nor increase maintinance it reduces compositionality. Meson handles ~just the configure step, and you also need ninja for the actual build and install | 16:29:01 |
Winter (she/her) | In reply to @qyliss:fairydust.space and yet we don't need a buildMesonPackage function yeah but there's a difference between adding multiple hooks and a single input -- though i suppose we'd fix that in some way to make it less cumbersome | 16:29:06 |
Jan Tojnar | In reply to @gytis-ivaskevicius:matrix.org readability and reducing complexity for new users. Also this does not impact neither perfomrance nor increase maintinance * it also reduces compositionality. Meson handles ~just the configure step, and you also need ninja for the actual build and install | 16:29:10 |