buildGoModule and shell

To build a Go module I’m developing locally I have the following derivation

  buildGoModule {
    pname = name;
    version = "0.0.1";
    src = lib.cleanSource ./.;
    vendorSha256 = sha256:0sjjj9z1dhilhpc8pq4154czrb79z9cm044jvn75kxcjv6v5l2m5;
  };

I’m struggling to put together a good expression for a shell though. Using override on the above doesn’t seem to have any effect at all. That is, something along the lines of

drv.overrideAttrs (attrs: {
  src = null;
  buildInputs = [gopls niv] ++ attrs.buildInputs;
}

doesn’t give me a shell with gopls and niv at all.