{ 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 {}; code2prompt = pkgs.callPackage ./code2prompt {}; hyprpaper-random = pkgs.callPackage ./hyprpaper-random {}; launch-webapp = pkgs.callPackage ./launch-webapp {}; mem0 = pkgs.callPackage ./mem0 {}; msty-studio = pkgs.callPackage ./msty-studio {}; n8n = pkgs.callPackage ./n8n {}; pomodoro-timer = pkgs.callPackage ./pomodoro-timer {}; rofi-project-opener = pkgs.callPackage ./rofi-project-opener {}; stt-ptt = pkgs.callPackage ./stt-ptt {}; tuxedo-backlight = pkgs.callPackage ./tuxedo-backlight {}; zellij-ps = pkgs.callPackage ./zellij-ps {}; # Imported from flake inputs inherit opencode; opencode-desktop = inputs.opencode.packages.${pkgs.system}.desktop.override {inherit opencode;}; }