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:
		
							parent
							
								
									2570e191af
								
							
						
					
					
						commit
						62136f051c
					
				
					 2 changed files with 37 additions and 1 deletions
				
			
		
							
								
								
									
										12
									
								
								flake.nix
									
										
									
									
									
								
							
							
						
						
									
										12
									
								
								flake.nix
									
										
									
									
									
								
							| 
						 | 
				
			
			@ -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 = [
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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;
 | 
			
		||||
 }
 | 
			
		||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue