{ lib, python3, runCommand, xonsh-unwrapped, extraPackages ? (ps: [ ]), }: let pythonEnv = python3.withPackages (ps: [ xonsh-unwrapped ] ++ extraPackages ps); in runCommand "xonsh-${xonsh-unwrapped.version}" { inherit (xonsh-unwrapped) pname version ; meta = xonsh-unwrapped.meta // { mainProgram = "xonsh"; }; passthru = { unwrapped = xonsh-unwrapped; shellPath = "/bin/xonsh"; }; } '' mkdir -p $out/bin for bin in ${lib.getBin xonsh-unwrapped}/bin/*; do ln -s ${pythonEnv}/bin/$(basename "$bin") $out/bin/ done ''