tvl-depot/tvix/docs/src/getting-started.md
toastal ade0781416 docs(tvix): create Welcome + Contributing sections
A lot of this content needs to be duplicated from the monorepo’s root
directory. However, some of the content was not relevant or could have
been more condensed in descriptions or split up for consumption that
also matched the styles of some other library documentation I had been
looking at for examples. I wanted to add the new access to Admonish
callouts but also aimed at the readablitiy in one’s text editor for the
user that needs to `cat` the docs.

In the future, a “Introduction” page would be nice to add to “Welcome”,
but I don’t think that is as clear.

Change-Id: Ibfc169c5fc3501d7eeb9a76423c6f64cd68897aa
Reviewed-on: https://cl.tvl.fyi/c/depot/+/11869
Tested-by: BuildkiteCI
Reviewed-by: flokli <flokli@flokli.de>
2024-06-27 07:16:23 +00:00

1.5 KiB
Raw Blame History

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 its set up continue with:

$ direnv allow
$ mg shell //tvix:shell
$ cd tvix
$ cargo build

Or just Tvix

At present, this option isnt 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 users 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.