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 <tazjin@tvl.su> Tested-by: BuildkiteCI
This commit is contained in:
parent
dbabf728b7
commit
5ac33a227f
1 changed files with 16 additions and 8 deletions
|
@ -14,19 +14,27 @@ There's also some discussion around development on our
|
||||||
|
|
||||||
## Building the CLI
|
## Building the CLI
|
||||||
|
|
||||||
If you are in a full checkout of the TVL depot, you can simply run `mg build`
|
The CLI can also be built with standard Rust tooling (i.e. `cargo build`),
|
||||||
in the `cli` directory (or `mg build //tvix/cli` from anywhere in the repo).
|
as long as you are in a shell with the right dependencies.
|
||||||
The `mg` command is found in `/tools/magrathea`.
|
|
||||||
|
|
||||||
|
- 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
|
**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
|
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,
|
newer Nix versions which we do not have the bandwidth to address,
|
||||||
builds in newer Nix versions may or may not work.
|
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
|
## Rust projects, crate2nix
|
||||||
|
|
||||||
Some parts of Tvix are written in Rust. To simplify the dependency
|
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
|
When making changes to Cargo dependency configuration in any of the
|
||||||
Rust projects under `//tvix`, be sure to run
|
Rust projects under `//tvix`, be sure to run
|
||||||
`mg run //tvix:crate2nixGenerate --` in `//tvix` itself and commit the changes
|
`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
|
## License structure
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue