diff --git a/.cargo/config b/.cargo/config
new file mode 100644
index 0000000000000000000000000000000000000000..81a01053dfffa1759ab707b1dc3a3831d8059d39
--- /dev/null
+++ b/.cargo/config
@@ -0,0 +1,8 @@
+[source.crates-io]
+replace-with = "vendored-sources"
+
+[source.vendored-sources]
+directory = "../third_party/rust-crates/rustc_deps/vendor"
+
+[build]
+target-dir = "../out/cargo_target"
diff --git a/.gitignore b/.gitignore
index d1607ff8ee78289729a39c3aff4994eeb881889b..c0ebd7499b1d3e4fe31b1d30a757fa183487bab5 100644
--- a/.gitignore
+++ b/.gitignore
@@ -27,3 +27,4 @@ last-update
 /.cipd
 .idea/
 *.iml
+**/Cargo.toml