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

  nativeBuildInputs = [
    rustc cargo rust-analyzer clippy rustfmt
    cargo-watch cargo-edit cargo-outdated cargo-crev
    xh systemfd typescript #tokio-console
    # required for tokio-console's console-subscriber
    #pkg-config protobuf
  ];
}