{ mkShell, rustc, cargo, rust-analyzer, clippy
, cargo-watch, cargo-edit, cargo-outdated
, xh, systemfd, tokio-console
, pkg-config, protobuf, openssl, zlib
}:
mkShell {
  name = "rust-dev-shell";

  nativeBuildInputs = [
    rustc cargo rust-analyzer clippy
    cargo-watch cargo-edit cargo-outdated
    xh systemfd tokio-console
    # required for tokio-console's console-subscriber
    pkg-config protobuf
    # required for httpmock, not actually used in the release
    openssl.dev zlib

  ];
}