From 5ac33a227f9f240e47d796c2d9651941a65493c3 Mon Sep 17 00:00:00 2001 From: Florian Klink Date: Wed, 1 Feb 2023 14:38:43 +0100 Subject: docs(tvix): update README to document usage inside tvix view If the tvix view is cloned through josh, you don't use mg, but a `shell.nix` is provided. Also, add the `git clone` command, so people browsing tvix source code in the browser know where to clone from. Change-Id: I18483d6a52953f9f4eafd1533ea69afb0e329b04 Reviewed-on: https://cl.tvl.fyi/c/depot/+/8001 Reviewed-by: tazjin Tested-by: BuildkiteCI --- tvix/README.md | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/tvix/README.md b/tvix/README.md index bbc37f7829..d0947bbeca 100644 --- a/tvix/README.md +++ b/tvix/README.md @@ -14,19 +14,27 @@ There's also some discussion around development on our ## Building the CLI -If you are in a full checkout of the TVL depot, you can simply run `mg build` -in the `cli` directory (or `mg build //tvix/cli` from anywhere in the repo). -The `mg` command is found in `/tools/magrathea`. +The CLI can also be built with standard Rust tooling (i.e. `cargo build`), +as long as you are in a shell with the right dependencies. + + - If you cloned the full monorepo, it can be provided by `mg shell // + tvix:shell`. + - If you cloned the `tvix` workspace only + (`git clone https://code.tvl.fyi/depot.git:workspace=views/tvix.git`), + `nix-shell` provides it. + +If you're in the TVL monorepo, you can also run `mg build //tvix/cli` +(or `mg build` from inside that folder) for a more incremental build. +Please follow the depot-wide instructions on how to get `mg` and use the depot +tooling. + +### Compatibility **Important note:** We only use and test Nix builds of our software against Nix 2.3. There are a variety of bugs and subtle problems in newer Nix versions which we do not have the bandwidth to address, builds in newer Nix versions may or may not work. -The CLI can also be built with standard Rust tooling (i.e. `cargo build`), -as long as you are in a shell with the right dependencies (provided by `mg -shell //tvix:shell`). - ## Rust projects, crate2nix Some parts of Tvix are written in Rust. To simplify the dependency @@ -37,7 +45,7 @@ configuration. When making changes to Cargo dependency configuration in any of the Rust projects under `//tvix`, be sure to run `mg run //tvix:crate2nixGenerate --` in `//tvix` itself and commit the changes -to the generated `Cargo.nix` file. +to the generated `Cargo.nix` file. This only applies to the full TVL checkout. ## License structure -- cgit 1.4.1