diff --git a/flake.lock b/flake.lock index a68be18..bb3cc52 100644 --- a/flake.lock +++ b/flake.lock @@ -280,11 +280,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1745487689, - "narHash": "sha256-FQoi3R0NjQeBAsEOo49b5tbDPcJSMWc3QhhaIi9eddw=", + "lastModified": 1745733216, + "narHash": "sha256-UTgWyFHohRQ8rOcsb6yMClNLwrQtBeyx5uHWGd7qdM8=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "5630cf13cceac06cefe9fc607e8dfa8fb342dde3", + "rev": "8ad8b9d65444c358b86bf75f73a036b3fd35bce4", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 2fe6f6b..2abd118 100644 --- a/flake.nix +++ b/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 = [ diff --git a/home/common.nix b/home/common.nix index 92cee82..693593f 100644 --- a/home/common.nix +++ b/home/common.nix @@ -51,7 +51,9 @@ merge.tool = "vimdiff"; # provide `git mergetool -t nixfmt` mergetool.nixfmt = { - cmd = "${lib.getExe inputs.nixos-unstable.legacyPackages.${system}.nixfmt-rfc-style} --mergetool \"$BASE\" \"$LOCAL\" \"$REMOTE\" \"$MERGED\""; + cmd = "${ + lib.getExe inputs.nixos-unstable.legacyPackages.${system}.nixfmt-rfc-style + } --mergetool \"$BASE\" \"$LOCAL\" \"$REMOTE\" \"$MERGED\""; trustExitCode = true; }; core.excludesfile = toString ( diff --git a/home/modules/packages.nix b/home/modules/packages.nix index 82e4343..79052c5 100644 --- a/home/modules/packages.nix +++ b/home/modules/packages.nix @@ -123,7 +123,6 @@ let pythonTools = with python3Packages; [ python3 # to shadow old macOS python - notebook ipython uv pip diff --git a/patches/nixos-nixpkgs-362c2bc76d359b908ad1389ee28c23ee0e862324.patch b/patches/nixos-nixpkgs-362c2bc76d359b908ad1389ee28c23ee0e862324.patch new file mode 100644 index 0000000..dbaf9ee --- /dev/null +++ b/patches/nixos-nixpkgs-362c2bc76d359b908ad1389ee28c23ee0e862324.patch @@ -0,0 +1,26 @@ +From 362c2bc76d359b908ad1389ee28c23ee0e862324 Mon Sep 17 00:00:00 2001 +From: Ihar Hrachyshka +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 +(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; + }