{ # lib, # pkgs, inputs, system, addPkgs ? [], bwrapperOpts ? {}, isCli ? true, packageOverrides ? {}, unfreePkgs ? [], ... }: let pkgs = import inputs.nixpkgs { config.allowUnfreePredicate = pkg: builtins.elem (pkgs.lib.getName pkg) unfreePkgs; inherit system; overlays = [inputs.nix-bwrapper.overlays.bwrapper]; }; in pkgs.mkBwrapper (pkgs.lib.attrsets.recursiveUpdate { app = { inherit addPkgs; package = pkgs.opencode.override packageOverrides; # runScript = "opencode"; }; # app.overwriteExec = !isCli; # isFhsenv = true; # fhsenv.skipExtraInstallCmds = isCli; sockets = { x11 = !isCli; wayland = !isCli; pulseaudio = !isCli; pipewire = !isCli; }; mounts.readWrite = [ "$PWD" # "$HOME/.local/share/opencode" ]; } bwrapperOpts)