{ lib , stdenv , buildPackages , rustPlatform , installShellFiles }: let cargoToml = builtins.fromTOML (builtins.readFile ./Cargo.toml); in rustPlatform.buildRustPackage rec { pname = cargoToml.package.name; version = cargoToml.package.version; src = lib.cleanSource ./.; cargoLock.lockFile = ./Cargo.lock; nativeBuildInputs = [ installShellFiles ]; postInstall = let emulator = stdenv.hostPlatform.emulator buildPackages; in '' installShellCompletion --cmd thumbctl \ --bash <(${emulator} $out/bin/thumbctl generate-completions --shell bash) \ --zsh <(${emulator} $out/bin/thumbctl generate-completions --shell zsh) \ --fish <(${emulator} $out/bin/thumbctl generate-completions --shell fish) ''; meta = with lib; { license = licenses.gpl3Only; maintainers = with maintainers; [ h7x4 ]; platforms = platforms.linux; mainProgram = "thumbctl"; }; }