about summary refs log tree commit diff
path: root/tvix/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'tvix/README.md')
-rw-r--r--tvix/README.md17
1 files changed, 17 insertions, 0 deletions
diff --git a/tvix/README.md b/tvix/README.md
index 9569cedf33f4..2a482097042e 100644
--- a/tvix/README.md
+++ b/tvix/README.md
@@ -6,6 +6,23 @@ are interested in people who would like to help us review designs,
 brainstorm and describe requirements that we may not yet have
 considered.
 
+## Rust projects
+
+Some parts of Tvix are written in Rust. To simplify the dependency
+management on the Nix side of these builds, we use `crate2nix` in a
+single Rust workspace in `//tvix` to maintain the Nix build
+configuration.
+
+When making changes to Cargo dependency configuration in any of the
+Rust projects under `//tvix`, be sure to run `crate2nix generate` in
+`//tvix` itself and commit the changes to the generated `Cargo.nix`
+file.
+
+`crate2nix` is available via `direnv` inside of depot, or can be built
+from the `third_party.nixpkgs.crate2nix` attribute of depot. Make sure
+to build it from depot to avoid generating files with a different
+version that might have different output.
+
 ## License structure
 
 All code implemented for Tvix is licensed under the GPL-3.0, with the