| 14 Jul 2023 |
Lily Foster | Yes it's intended. Can you share build log? | 15:00:51 |
Lily Foster | Oh, 14 | 15:00:59 |
Lily Foster | Uhhh one sec while I check | 15:01:02 |
Lily Foster | That | 15:01:03 |
Janne Heß | Workaround that is even worse: (buildNpmPackage.override { nodejs = nodejs_14; npmHooks = npmHooks.override { buildPackages = buildPackages.extend (self: super: { nodejs = super.nodejs_14; }); }; }) | 15:01:07 |
Lily Foster | Oh I see what you're saying is unintended | 15:01:23 |
Janne Heß | In reply to @lily:lily.flowers Oh I see what you're saying is unintended Yeah sorry that was super unclear | 15:01:37 |
Lily Foster | We should probably just fish out the correct one from spliced attrs | 15:01:49 |
Lily Foster | I guess | 15:01:52 |
Janne Heß | or some extra arg like nodeVersion that gets fed into getAttrByPath pkgs? | 15:02:12 |
Janne Heß | * or some extra arg like nodePackage that gets fed into getAttrByPath pkgs? | 15:02:35 |
Lily Foster | I'd rather keep the ability to specify a whole nodejs derivation and also since you linked 23.05, we want something backwards compatible so it is eligible for backport | 15:02:39 |
Lily Foster | Ugh this sucks, though. Maybe we can have the nodejs derivation itself expose the node-gyp location | 15:04:24 |
Lily Foster | In passthru | 15:04:27 |
Lily Foster | Hold on one sec. I'm wondering if that code is platform-independent | 15:06:09 |
Lily Foster | (probably a bad idea, but I'm gonna have to think on this to come up with a better solution) | 15:06:32 |
Lily Foster | Just to confirm, does this do better for you Janne Heß?
diff --git a/pkgs/build-support/node/build-npm-package/hooks/default.nix b/pkgs/build-support/node/build-npm-package/hooks/default.nix
index c34709335ff..1e6d82dc8df 100644
--- a/pkgs/build-support/node/build-npm-package/hooks/default.nix
+++ b/pkgs/build-support/node/build-npm-package/hooks/default.nix
@@ -6,7 +6,7 @@
name = "npm-config-hook";
substitutions = {
nodeSrc = srcOnly nodejs;
- nodeGyp = "${buildPackages.nodejs}/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js";
+ nodeGyp = "${nodejs.__spliced.buildHost or buildPackages.nodejs}/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js";
# Specify `diff`, `jq`, and `prefetch-npm-deps` by abspath to ensure that the user's build
# inputs do not cause us to find the wrong binaries.
| 15:09:19 |
Janne Heß | tbh, I have no idea how __spliced works | 15:09:40 |
Janne Heß | but probably? | 15:09:43 |
Lily Foster | In reply to @janne.hess:helsinki-systems.de tbh, I have no idea how __spliced works Dark magic mostly. There's a reason a lot of people consider splicing to have been a bit of a mistake... | 15:10:10 |
Janne Heß | so I have to check spliceReal → mash → merge → value? | 15:10:55 |
Janne Heß | * so I have to check spliceReal → mash → merge → value in splice.nix?? | 15:11:01 |
Janne Heß | what the… | 15:11:30 |
Lily Foster | In reply to @janne.hess:helsinki-systems.de but probably? If that diff does work for your particular use-case, let me know and I may just go ahead and PR it, unless I or someone else comes up with something better | 16:49:44 |
| 17 Jul 2023 |
| exelent joined the room. | 14:12:41 |
exelent | Hello guys, I want to install nodejs using home-manager to my new MBP M2, but nix always intend to build it from source, rather then download from a binary cache.
pkgs = inputs.nixpkgs.legacyPackages.aarch64-darwin; this are the packages that I define. I also enabled cachix community cache cachix use nix-community | 14:39:55 |
adamcstephens | What is your nixpkgs input url? | 15:46:35 |
Lily Foster | exelent: Is your home-manager config in a public repo so that we can look at it? | 15:51:03 |
| 18 Jul 2023 |
hexa | gdamjan: any progress on the appservice-irc? | 13:26:24 |
gdamjan | I didn't have the time to touch it | 14:38:57 |