Getting Started
Getting the code, a developer shell, & building the CLI
Tvix can be built with the Rust standard cargo build
. A Nix shell is provided
with the correctly-versioned tooling to build.
TVL monorepo
$ git clone https://code.tvl.fyi/depot.git $ cd depot
Direnv is highly recommended in order to enable mg
, a tool for
workflows in monorepos. Follow the Direnv installation
instructions, then after it’s set up continue with:
$ direnv allow $ mg shell //tvix:shell $ cd tvix $ cargo build
Or just Tvix
At present, this option isn’t suitable for contributions & lacks the tooling of
the monorepo, but still provides a shell.nix
which can be used for building
the Tvix project.
$ git clone https://code.tvl.fyi/depot.git:workspace=views/tvix.git $ cd tvix $ nix-shell $ cargo build
Builds & tests
All projects are built using Nix to avoid ‘build pollution’ via the user’s local environment.
If you have Nix installed and are contributing to a project tracked in this
repository, you can usually build the project by calling nix-build -A path.to.project
.
For example, to build a project located at //tools/foo
you would call
nix-build -A tools.foo
If the project has tests, check that they still work before submitting your change.