From 45973842912cc029fd5b4bc5e31658ef4bddc4d7 Mon Sep 17 00:00:00 2001 From: m3tm3re Date: Tue, 20 Jan 2026 18:49:18 +0100 Subject: [PATCH] fix(opencode): patch bun version requirement to match upstream lockfile - Upstream v1.1.27 requires Bun 1.3.5 but provides 1.3.6 - Patch package.json to accept Bun 1.3.6 - Propagate patched opencode to opencode-desktop --- pkgs/default.nix | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/pkgs/default.nix b/pkgs/default.nix index fc5db33..1a5ca18 100644 --- a/pkgs/default.nix +++ b/pkgs/default.nix @@ -1,4 +1,12 @@ -{pkgs, inputs ? null, ...}: { +{pkgs, inputs ? null, ...}: let + # Upstream opencode v1.1.27 strictly requires Bun 1.3.5 but its locked nixpkgs provides 1.3.6 + # We patch package.json to match the environment version to fix the build + opencode = inputs.opencode.packages.${pkgs.system}.opencode.overrideAttrs (old: { + postPatch = (old.postPatch or "") + '' + substituteInPlace package.json --replace-fail "bun@1.3.5" "bun@1.3.6" + ''; + }); +in { # Custom packages registry # Each package is defined in its own directory under pkgs/ beads = pkgs.callPackage ./beads {}; @@ -15,6 +23,6 @@ zellij-ps = pkgs.callPackage ./zellij-ps {}; # Imported from flake inputs - opencode = inputs.opencode.packages.${pkgs.system}.opencode; - opencode-desktop = inputs.opencode.packages.${pkgs.system}.desktop; + inherit opencode; + opencode-desktop = inputs.opencode.packages.${pkgs.system}.desktop.override { inherit opencode; }; }