support for patching nixpkgs instance used by home manager

- introduce support for patching the used nixpkgs instance via
  `applyPatches`, see https://ertt.ca/nix/patch-nixpkgs/
- use patched nixpkgs instance in mkHomeManagern (TODO: use it in more
  places)
- add patch for nodejs-20 test failure in darwin (currently just in
  staging)
This commit is contained in:
Trolli Schmittlauch 2025-04-27 16:15:45 +02:00
parent be859336b3
commit efe61574f4
2 changed files with 37 additions and 1 deletions

View file

@ -46,6 +46,16 @@
let
# FIXME: allow different systems
systems = utils.lib.system;
# ability to extend nixpkgs with patches, e.g. from PRs or staging. See https://ertt.ca/nix/patch-nixpkgs/
mkNixpkgs-patched =
system:
(import nixpkgs { inherit system; }).applyPatches {
name = "nixpkgs-patched";
src = nixpkgs;
patches = [ ./patches/nixos-nixpkgs-362c2bc76d359b908ad1389ee28c23ee0e862324.patch ];
};
# necessary to make the top-level inputs available to system configuration
# inspired by https://jade.fyi/blog/flakes-arent-real/
inputInjection =
@ -78,7 +88,7 @@
mkHomeManager =
confName: user: system: # unfortunately, home-manager configs are still system-specific
home-manager.lib.homeManagerConfiguration {
pkgs = nixpkgs.legacyPackages.${system};
pkgs = import (mkNixpkgs-patched system) { inherit system; };
modules = [
{
imports = [

View file

@ -0,0 +1,26 @@
From 362c2bc76d359b908ad1389ee28c23ee0e862324 Mon Sep 17 00:00:00 2001
From: Ihar Hrachyshka <ihar.hrachyshka@gmail.com>
Date: Mon, 7 Apr 2025 21:03:09 -0400
Subject: [PATCH] nodejs_20: fix test failure on darwin on latest MacOS 15.4
Signed-off-by: Ihar Hrachyshka <ihar.hrachyshka@gmail.com>
(cherry picked from commit 9674c1f688d12b99fbde26e6068ab62609fef3b1)
---
pkgs/development/web/nodejs/v20.nix | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/pkgs/development/web/nodejs/v20.nix b/pkgs/development/web/nodejs/v20.nix
index b9c9345c441afa..20cceb5b5d1cda 100644
--- a/pkgs/development/web/nodejs/v20.nix
+++ b/pkgs/development/web/nodejs/v20.nix
@@ -50,5 +50,10 @@ buildNodejs {
stripLen = 1;
hash = "sha256-6y3aEqxNC4iTQEv1oewodJrhOHxjp5xZMq1P1QL94Rg=";
})
+ # fix test failure on macos 15.4
+ (fetchpatch2 {
+ url = "https://github.com/nodejs/node/commit/33f6e1ea296cd20366ab94e666b03899a081af94.patch?full_index=1";
+ hash = "sha256-aVBMcQlhQeviUQpMIfC988jjDB2BgYzlMYsq+w16mzU=";
+ })
] ++ gypPatches;
}