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; }; }