| 11 Nov 2025 |
ElvishJerricco | at the expense of perpetuating this madness | 11:24:46 |
Grimmauld (any/all) | Why not just:
buildEnv' =
args:
buildEnv (
{
inherit (args) name paths;
}
// (removeAttrs args [
"name"
"paths"
"pkgs"
])
);
Do we need the override?
| 11:24:50 |
Vladimír Čunát | I suspect it might better be refactored to pass all args directly except some extra ones defined by buildEnv' | 11:24:57 |
Grimmauld (any/all) | actually wtf why is this wrapper there anyways | 11:25:09 |
ElvishJerricco | probably not but I'm afraid to change it :P | 11:25:08 |
Grimmauld (any/all) | like, that wrapper does nothing? i think? | 11:25:29 |
ElvishJerricco | yea wtf | 11:25:44 |
Grimmauld (any/all) | it removes pkgs, thats about it | 11:25:52 |
ElvishJerricco | I mean | 11:26:09 |
Grimmauld (any/all) | it inherits name and paths, it explicitly does extra outputs | 11:26:11 |
Grimmauld (any/all) | so why do we need that at all | 11:26:24 |
ElvishJerricco | technically, the args given to this buildEnv' are more powerful, because they become derivation attrs, not args to buildEnv | 11:26:26 |
ElvishJerricco | so that's technically a difference | 11:26:30 |
ElvishJerricco | but I don't know if that's actually used? | 11:26:40 |
Grimmauld (any/all) | HUH | 11:26:49 |
Grimmauld (any/all) | okay that is actually fair, hold on let me check | 11:27:02 |
Grimmauld (any/all) | oh yeah there is stuff like postBuild, meta, outputs and passthru and a whole mess of other things: https://github.com/NixOS/nixpkgs/blob/addd85b5d06ea90d5a7923956a65baf96bcd1e9f/pkgs/tools/typesetting/tex/texlive/build-tex-env.nix#L414-L480 | 11:28:08 |
ElvishJerricco | ok, so unless anyone wants to go sifting through all those instances and finding a better way to do them, we should just keep the override | 11:28:45 |
Grimmauld (any/all) |
# no indent for git diff purposes
treewide nixfmt says hello
| 11:28:54 |
ElvishJerricco | so the thing vcunat and I did is probably the best thing to do for now | 11:28:58 |
Grimmauld (any/all) | i mean there is only 3 instances | 11:30:08 |
Grimmauld (any/all) | its in a let...in block and not reexported | 11:30:23 |
Grimmauld (any/all) | but yeah, do the workaround | 11:30:54 |
ElvishJerricco | yea I mean it looks like we'd just end up doing the overrideAttrs in those 3 sites instead, so there's no real benefit to trying to get rid of it | 11:31:29 |
Grimmauld (any/all) | or alternatively hand-roll a pseudo-buildenv using stdenv.mkDerivation that has the power to do these things | 11:32:22 |
Grimmauld (any/all) | not sure either is better | 11:32:42 |
ElvishJerricco | that seems like more code / effort for no benefit | 11:33:42 |
ElvishJerricco | vcunat: you want to author the commit / PR or do you want me to? | 11:35:02 |
Vladimír Čunát | I don't care really. | 11:35:24 |
Vladimír Čunát | But I'm relatively busy today. | 11:35:30 |