{
  lib,
  rustPlatform,
  protobuf,
}:
let
  ignoredPaths = [
    "nix"
    "flake.nix"
    "flake.lock"
  ];
in
rustPlatform.buildRustPackage {
  pname = "cargo-gg";
  version = "0.1.1";

  src = lib.cleanSourceWith {
    filter = name: _: !(builtins.elem (baseNameOf name) ignoredPaths);
    src = lib.cleanSource ../.;
  };
  cargoLock.lockFile = ../Cargo.lock;

  # skips rebuilding the whole thing with debug info
  doCheck = false;
}