{ lib , rustPlatform , fetchFromGitHub , installShellFiles , stdenv , darwin }: rustPlatform.buildRustPackage rec { pname = "joshuto"; version = "0.9.8"; src = fetchFromGitHub { owner = "kamiyaa"; repo = "joshuto"; rev = "v${version}"; hash = "sha256-8OvaL6HqsJjBAbksR4EpC/ZgvdBSKlB37PP77p3T3PY="; }; cargoHash = "sha256-zGqOmebD7kZAsWunWSB2NFOSg0cu8aM1dyhEIQz1j4I="; nativeBuildInputs = [ installShellFiles ]; buildInputs = lib.optionals stdenv.isDarwin [ darwin.apple_sdk.frameworks.Foundation ]; postInstall = '' installShellCompletion --cmd joshuto \ --bash <($out/bin/joshuto completions bash) \ --zsh <($out/bin/joshuto completions zsh) \ --fish <($out/bin/joshuto completions fish) ''; meta = with lib; { description = "Ranger-like terminal file manager written in Rust"; homepage = "https://github.com/kamiyaa/joshuto"; changelog = "https://github.com/kamiyaa/joshuto/releases/tag/${src.rev}"; license = licenses.lgpl3Only; maintainers = with maintainers; [ figsoda totoroot xrelkd ]; mainProgram = "joshuto"; }; }