pub struct Args {Show 15 fields
pub log_level: Level,
pub script: Option<PathBuf>,
pub expr: Option<String>,
pub display_ast: bool,
pub dump_bytecode: bool,
pub trace_runtime: bool,
pub trace_runtime_timing: bool,
pub compile_only: bool,
pub no_warnings: bool,
pub nix_search_path: Option<String>,
pub raw: bool,
pub strict: bool,
pub service_addrs: ServiceUrlsMemory,
pub build_service_addr: String,
pub drv_dumpdir: Option<PathBuf>,
}
Expand description
Provides a CLI interface to trigger evaluation using tvix-eval.
Uses configured tvix-[ca]store and tvix-build components, and by default a set of builtins similar to these present in Nix.
None of the stores available add to the local /nix/store
location.
The CLI interface is not stable and subject to change.
Fields§
§log_level: Level
A global log level to use when printing logs.
It’s also possible to set RUST_LOG
according to
tracing_subscriber::filter::EnvFilter
, which will always have
priority.
script: Option<PathBuf>
Path to a script to evaluate
expr: Option<String>
§display_ast: bool
Dump the raw AST to stdout before interpreting
dump_bytecode: bool
Dump the bytecode to stdout before evaluating
trace_runtime: bool
Trace the runtime of the VM
trace_runtime_timing: bool
Capture the time (relative to the start time of evaluation) of all events traced with
--trace-runtime
compile_only: bool
Only compile, but do not execute code. This will make Tvix act sort of like a linter.
no_warnings: bool
Don’t print warnings.
nix_search_path: Option<String>
A colon-separated list of directories to use to resolve <...>
-style paths
raw: bool
Print “raw” (unquoted) output.
strict: bool
Strictly evaluate values, traversing them and forcing e.g. elements of lists and attribute sets before printing the return value.
service_addrs: ServiceUrlsMemory
§build_service_addr: String
§drv_dumpdir: Option<PathBuf>
An optional path in which Derivations encountered during evaluation are dumped into, after evaluation. If it doesn’t exist, the directory is created.
Files dumped there are named like they would show up in /nix/store
,
if produced by Nix. Existing files are not overwritten.
This is only for debugging and diffing purposes for post-eval inspection; Tvix does not read from these.
Trait Implementations§
source§impl CommandFactory for Args
impl CommandFactory for Args
source§impl FromArgMatches for Args
impl FromArgMatches for Args
source§fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>
fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>
source§fn from_arg_matches_mut(
__clap_arg_matches: &mut ArgMatches
) -> Result<Self, Error>
fn from_arg_matches_mut( __clap_arg_matches: &mut ArgMatches ) -> Result<Self, Error>
source§fn update_from_arg_matches(
&mut self,
__clap_arg_matches: &ArgMatches
) -> Result<(), Error>
fn update_from_arg_matches( &mut self, __clap_arg_matches: &ArgMatches ) -> Result<(), Error>
ArgMatches
to self
.source§fn update_from_arg_matches_mut(
&mut self,
__clap_arg_matches: &mut ArgMatches
) -> Result<(), Error>
fn update_from_arg_matches_mut( &mut self, __clap_arg_matches: &mut ArgMatches ) -> Result<(), Error>
ArgMatches
to self
.source§impl Parser for Args
impl Parser for Args
source§fn parse_from<I, T>(itr: I) -> Self
fn parse_from<I, T>(itr: I) -> Self
source§fn try_parse_from<I, T>(itr: I) -> Result<Self, Error>
fn try_parse_from<I, T>(itr: I) -> Result<Self, Error>
source§fn update_from<I, T>(&mut self, itr: I)
fn update_from<I, T>(&mut self, itr: I)
Auto Trait Implementations§
impl Freeze for Args
impl RefUnwindSafe for Args
impl Send for Args
impl Sync for Args
impl Unpin for Args
impl UnwindSafe for Args
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> FutureExt for T
impl<T> FutureExt for T
source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
source§impl<T> FutureExt for T
impl<T> FutureExt for T
source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T
in a tonic::Request