{ rustPlatform , version ? "git" , lib , makeWrapper , stdenv , darwin , withFile ? true , file , withJq ? true , jq , withPoppler ? true , poppler_utils , withUnar ? true , unar , withFfmpegthumbnailer ? true , ffmpegthumbnailer , withFd ? true , fd , withRipgrep ? true , ripgrep , withFzf ? true , fzf , withZoxide ? true , zoxide }: rustPlatform.buildRustPackage { pname = "yazi"; inherit version; src = ../.; cargoLock.lockFile = ../Cargo.lock; nativeBuildInputs = [ makeWrapper ]; buildInputs = lib.optionals stdenv.isDarwin ( with darwin.apple_sdk.frameworks; [ Foundation ] ); postInstall = with lib; let runtimePaths = [ ] ++ optional withFile file ++ optional withJq jq ++ optional withPoppler poppler_utils ++ optional withUnar unar ++ optional withFfmpegthumbnailer ffmpegthumbnailer ++ optional withFd fd ++ optional withRipgrep ripgrep ++ optional withFzf fzf ++ optional withZoxide zoxide; in '' wrapProgram $out/bin/yazi \ --prefix PATH : "${makeBinPath runtimePaths}" ''; meta = with lib; { description = "Blazing fast terminal file manager written in Rust, based on async I/O"; homepage = "https://github.com/sxyazi/yazi"; license = licenses.mit; }; }