From 12d0fc0b7968f55ededa2eb5bcd7c58a06a5068b Mon Sep 17 00:00:00 2001 From: Trolli Schmittlauch Date: Sun, 27 Apr 2025 14:19:55 +0200 Subject: [PATCH 1/4] remove jupyter-notebook from default packages currently does not build on darwin; haven't used it for a while anymore anyways --- home/modules/packages.nix | 1 - 1 file changed, 1 deletion(-) 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 From b178274fe3365bf289672b4f44f1ff46da0513c9 Mon Sep 17 00:00:00 2001 From: Trolli Schmittlauch Date: Sun, 27 Apr 2025 16:08:50 +0200 Subject: [PATCH 2/4] flake: bump nixpkgs input to pull in pending fixes --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) 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": { From be859336b39f87aa6d779c064964ed30e9270557 Mon Sep 17 00:00:00 2001 From: Trolli Schmittlauch Date: Sun, 27 Apr 2025 16:09:02 +0200 Subject: [PATCH 3/4] nixfmt --- home/common.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) 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 ( From efe61574f40abea19a2bd993956a8671d022c25a Mon Sep 17 00:00:00 2001 From: Trolli Schmittlauch Date: Sun, 27 Apr 2025 16:15:45 +0200 Subject: [PATCH 4/4] 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) --- flake.nix | 12 ++++++++- ...2bc76d359b908ad1389ee28c23ee0e862324.patch | 26 +++++++++++++++++++ 2 files changed, 37 insertions(+), 1 deletion(-) create mode 100644 patches/nixos-nixpkgs-362c2bc76d359b908ad1389ee28c23ee0e862324.patch 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/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; + }