Nix 2.34.6
Nix, the purely functional package manager: C API (experimental)
Loading...
Searching...
No Matches
Initialization

Data Structures

struct  EvalState
 Represents a state of the Nix language evaluator. More...

Macros

#define __has_c_attribute(x)
#define NIX_DEPRECATED(msg)

Typedefs

typedef struct nix_eval_state_builder nix_eval_state_builder
 Builder for EvalState.
typedef struct EvalState EvalState

Functions

nix_err nix_libexpr_init (nix_c_context *context)
 Initialize the Nix language evaluator.
nix_eval_state_buildernix_eval_state_builder_new (nix_c_context *context, Store *store)
 Create a new nix_eval_state_builder.
nix_err nix_eval_state_builder_load (nix_c_context *context, nix_eval_state_builder *builder)
 Read settings from the ambient environment.
nix_err nix_eval_state_builder_set_lookup_path (nix_c_context *context, nix_eval_state_builder *builder, const char **lookupPath)
 Set the lookup path for <...> expressions.
EvalStatenix_eval_state_build (nix_c_context *context, nix_eval_state_builder *builder)
 Create a new Nix language evaluator state.
void nix_eval_state_builder_free (nix_eval_state_builder *builder)
 Free a nix_eval_state_builder.
EvalStatenix_state_create (nix_c_context *context, const char **lookupPath, Store *store)
 Create a new Nix language evaluator state.
void nix_state_free (EvalState *state)
 Frees a Nix state.

Detailed Description

Macro Definition Documentation

◆ __has_c_attribute

#define __has_c_attribute ( x)
Value:
0

Function Documentation

◆ nix_eval_state_build()

EvalState * nix_eval_state_build ( nix_c_context * context,
nix_eval_state_builder * builder )

Create a new Nix language evaluator state.

The builder becomes unusable after this call. Remember to call nix_eval_state_builder_free() after building the state.

Parameters
[out]contextOptional, stores error information
[in]builderThe builder to use and free
Returns
A new Nix state or NULL on failure. Call nix_state_free() when you're done.
See also
nix_eval_state_builder_new, nix_eval_state_builder_free

◆ nix_eval_state_builder_free()

void nix_eval_state_builder_free ( nix_eval_state_builder * builder)

Free a nix_eval_state_builder.

Does not fail.

Parameters
[in]builderThe builder to free.

◆ nix_eval_state_builder_load()

nix_err nix_eval_state_builder_load ( nix_c_context * context,
nix_eval_state_builder * builder )

Read settings from the ambient environment.

Settings are sourced from environment variables and configuration files, as documented in the Nix manual.

Parameters
[out]contextOptional, stores error information
[out]builderThe builder to modify.
Returns
NIX_OK if successful, an error code otherwise.

◆ nix_eval_state_builder_new()

nix_eval_state_builder * nix_eval_state_builder_new ( nix_c_context * context,
Store * store )

Create a new nix_eval_state_builder.

The settings are initialized to their default value. Values can be sourced elsewhere with nix_eval_state_builder_load.

Parameters
[out]contextOptional, stores error information
[in]storeThe Nix store to use.
Returns
A new nix_eval_state_builder or NULL on failure. Call nix_eval_state_builder_free() when you're done.

◆ nix_eval_state_builder_set_lookup_path()

nix_err nix_eval_state_builder_set_lookup_path ( nix_c_context * context,
nix_eval_state_builder * builder,
const char ** lookupPath )

Set the lookup path for <...> expressions.

Parameters
[in]contextOptional, stores error information
[in]builderThe builder to modify.
[in]lookupPathNull-terminated array of strings corresponding to entries in NIX_PATH.

◆ nix_libexpr_init()

nix_err nix_libexpr_init ( nix_c_context * context)

Initialize the Nix language evaluator.

This function must be called at least once, at some point before constructing a EvalState for the first time. This function can be called multiple times, and is idempotent.

Parameters
[out]contextOptional, stores error information
Returns
NIX_OK if the initialization was successful, an error code otherwise.

◆ nix_state_create()

EvalState * nix_state_create ( nix_c_context * context,
const char ** lookupPath,
Store * store )

Create a new Nix language evaluator state.

For more control, use nix_eval_state_builder

Parameters
[out]contextOptional, stores error information
[in]lookupPathNull-terminated array of strings corresponding to entries in NIX_PATH.
[in]storeThe Nix store to use.
Returns
A new Nix state or NULL on failure. Call nix_state_free() when you're done.
See also
nix_state_builder_new

◆ nix_state_free()

void nix_state_free ( EvalState * state)

Frees a Nix state.

Does not fail.

Parameters
[in]stateThe state to free.