{
  stdenv,
  versionCheckHook,
  lib,
  installShellFiles,
  autoPatchelfHook,
}:
stdenv.mkDerivation rec {
  pname = "uv-bin";
  version = "0.5.13";

  src = fetchTarball {
    url = "https://github.com/astral-sh/uv/releases/download/${version}/uv-x86_64-unknown-linux-gnu.tar.gz";
    sha256 = "0ks9i16yhg58k8489d799bixx84qvhy0q7b8la9sfrsbshakbc9q";
  };

  nativeBuildInputs = [
    installShellFiles
    autoPatchelfHook
    stdenv.cc.cc.lib
  ];

  installPhase = ''
    runHook preInstall

    mkdir -p $out/bin

    cp * $out/bin

    runHook postInstall
  '';

  dontAutoPatchelf = true;

  postFixup = ''
    autoPatchelf -- "$out"

    export HOME=$TMPDIR
    installShellCompletion --cmd uv \
      --bash <($out/bin/uv --generate-shell-completion bash) \
      --fish <($out/bin/uv --generate-shell-completion fish) \
      --zsh <($out/bin/uv --generate-shell-completion zsh)
  '';

  nativeCheckInputs = [
    versionCheckHook
  ];
  versionCheckProgramArg = [ "--version" ];

  meta = {
    description = "Extremely fast Python package installer and resolver, written in Rust";
    homepage = "https://github.com/astral-sh/uv";
    license = with lib.licenses; [
      asl20
      mit
    ];
  };
}