0fd956f248
This .envrc file causes additional software to be loaded, but there is no way to opt-out even if the software is not desired: 1. If I opt-in (i.e. `direnv allow`) the file, additional stuff that I don't need is injected into my environment in a blocking way. 2. If I opt-out, *all* of the depot configuration (including `mg`) is unloaded, as direnv configurations do not trivially nest. I have to work around this constantly by making the file contain just the line `source_up` and then setting `--assume-unchanged` on the git index to avoid accidentally committing the file changes. This is kind of silly, the people who *want* this stuff to be loaded should devise a mechanism that loads it automatically but is opt-in. This could be done e.g. by gating something on environment variables, or having a shell hook, or whatever. Breaking expectations that hold elsewhere in depot is not okay, however. If you manually want a shell for a project, run `mg shell` either with a target specification for that project (e.g. `mg shell //tvix/store`) or in the project's folder. You can also just use standard nix-shell invocations. Change-Id: I0de43378424d0cb1e1279c72c47940fecf497bf0 Reviewed-on: https://cl.tvl.fyi/c/depot/+/7531 Reviewed-by: tazjin <tazjin@tvl.su> Reviewed-by: sterni <sternenseemann@systemli.org> Tested-by: BuildkiteCI Autosubmit: tazjin <tazjin@tvl.su> |
||
---|---|---|
.. | ||
.vscode | ||
docs | ||
eval | ||
nix_cli | ||
proto | ||
store | ||
verify-lang-tests | ||
.gitignore | ||
LICENSE | ||
OWNERS | ||
README.md | ||
shell.nix |
Tvix
For more information about Tvix, contact one of the project owners. We are interested in people who would like to help us review designs, brainstorm and describe requirements that we may not yet have considered.
License structure
All code implemented for Tvix is licensed under the GPL-3.0, with the exception of the protocol buffer definitions used for communication between services which are available under a more permissive license (MIT).
The idea behind this structure is that any direct usage of our code (e.g. linking to it, embedding the evaluator, etc.) will fall under the terms of the GPL3, but users are free to implement their own components speaking these protocols under the terms of the MIT license.