Nix 2.30.0
Nix, the purely functional package manager: C API (experimental)
|
Bindings to the Nix Flakes library. More...
Files | |
file | nix_api_flake.h |
Main entry for the libflake C bindings. |
Typedefs | |
typedef struct nix_flake_settings | nix_flake_settings |
A settings object for configuring the behavior of the nix-flake-c library. | |
typedef struct nix_flake_reference_parse_flags | nix_flake_reference_parse_flags |
Context and parameters for parsing a flake reference. | |
typedef struct nix_flake_reference | nix_flake_reference |
A reference to a flake. | |
typedef struct nix_flake_lock_flags | nix_flake_lock_flags |
Parameters for locking a flake. | |
typedef struct nix_locked_flake | nix_locked_flake |
A flake with a suitable lock (file or otherwise) |
Functions | |
nix_flake_settings * | nix_flake_settings_new (nix_c_context *context) |
void | nix_flake_settings_free (nix_flake_settings *settings) |
Release the resources associated with a nix_flake_settings. | |
nix_err | nix_flake_settings_add_to_eval_state_builder (nix_c_context *context, nix_flake_settings *settings, nix_eval_state_builder *builder) |
Initialize a nix_flake_settings to contain builtins.getFlake and potentially more. | |
nix_flake_reference_parse_flags * | nix_flake_reference_parse_flags_new (nix_c_context *context, nix_flake_settings *settings) |
A new nix_flake_reference_parse_flags with defaults. | |
void | nix_flake_reference_parse_flags_free (nix_flake_reference_parse_flags *flags) |
Deallocate and release the resources associated with a nix_flake_reference_parse_flags. Does not fail. | |
nix_err | nix_flake_reference_parse_flags_set_base_directory (nix_c_context *context, nix_flake_reference_parse_flags *flags, const char *baseDirectory, size_t baseDirectoryLen) |
Provide a base directory for parsing relative flake references. | |
nix_flake_lock_flags * | nix_flake_lock_flags_new (nix_c_context *context, nix_flake_settings *settings) |
A new nix_flake_lock_flags with defaults. | |
void | nix_flake_lock_flags_free (nix_flake_lock_flags *settings) |
Deallocate and release the resources associated with a nix_flake_lock_flags. Does not fail. | |
nix_err | nix_flake_lock_flags_set_mode_check (nix_c_context *context, nix_flake_lock_flags *flags) |
Put the lock flags in a mode that checks whether the lock is up to date. | |
nix_err | nix_flake_lock_flags_set_mode_virtual (nix_c_context *context, nix_flake_lock_flags *flags) |
Put the lock flags in a mode that updates the lock file in memory, if needed. | |
nix_err | nix_flake_lock_flags_set_mode_write_as_needed (nix_c_context *context, nix_flake_lock_flags *flags) |
Put the lock flags in a mode that updates the lock file on disk, if needed. | |
nix_err | nix_flake_lock_flags_add_input_override (nix_c_context *context, nix_flake_lock_flags *flags, const char *inputPath, nix_flake_reference *flakeRef) |
Add input overrides to the lock flags. | |
nix_locked_flake * | nix_flake_lock (nix_c_context *context, nix_fetchers_settings *fetchSettings, nix_flake_settings *settings, EvalState *eval_state, nix_flake_lock_flags *flags, nix_flake_reference *flake) |
Lock a flake, if not already locked. | |
void | nix_locked_flake_free (nix_locked_flake *locked_flake) |
Deallocate and release the resources associated with a nix_locked_flake. Does not fail. | |
nix_err | nix_flake_reference_and_fragment_from_string (nix_c_context *context, nix_fetchers_settings *fetchSettings, nix_flake_settings *flakeSettings, nix_flake_reference_parse_flags *parseFlags, const char *str, size_t strLen, nix_flake_reference **flakeReferenceOut, nix_get_string_callback fragmentCallback, void *fragmentCallbackUserData) |
Parse a URL-like string into a nix_flake_reference. | |
void | nix_flake_reference_free (nix_flake_reference *store) |
Deallocate and release the resources associated with a nix_flake_reference. | |
nix_value * | nix_locked_flake_get_output_attrs (nix_c_context *context, nix_flake_settings *settings, EvalState *evalState, nix_locked_flake *lockedFlake) |
Get the output attributes of a flake. |
Bindings to the Nix Flakes library.
typedef struct nix_flake_lock_flags nix_flake_lock_flags |
Parameters for locking a flake.
typedef struct nix_flake_reference nix_flake_reference |
A reference to a flake.
A flake reference specifies how to fetch a flake.
typedef struct nix_flake_reference_parse_flags nix_flake_reference_parse_flags |
Context and parameters for parsing a flake reference.
typedef struct nix_flake_settings nix_flake_settings |
A settings object for configuring the behavior of the nix-flake-c library.
typedef struct nix_locked_flake nix_locked_flake |
A flake with a suitable lock (file or otherwise)
nix_locked_flake * nix_flake_lock | ( | nix_c_context * | context, |
nix_fetchers_settings * | fetchSettings, | ||
nix_flake_settings * | settings, | ||
EvalState * | eval_state, | ||
nix_flake_lock_flags * | flags, | ||
nix_flake_reference * | flake ) |
Lock a flake, if not already locked.
[out] | context | Optional, stores error information |
[in] | settings | The flake (and fetch) settings to use |
[in] | flags | The locking flags to use |
[in] | flake | The flake to lock |
nix_err nix_flake_lock_flags_add_input_override | ( | nix_c_context * | context, |
nix_flake_lock_flags * | flags, | ||
const char * | inputPath, | ||
nix_flake_reference * | flakeRef ) |
Add input overrides to the lock flags.
[out] | context | Optional, stores error information |
[in] | flags | The flags to modify |
[in] | inputPath | The input path to override |
[in] | flakeRef | The flake reference to use as the override |
This switches the flags to nix_flake_lock_flags_set_mode_virtual if not in mode nix_flake_lock_flags_set_mode_check.
void nix_flake_lock_flags_free | ( | nix_flake_lock_flags * | settings | ) |
Deallocate and release the resources associated with a nix_flake_lock_flags. Does not fail.
[in] | settings | the nix_flake_lock_flags * to free |
nix_flake_lock_flags * nix_flake_lock_flags_new | ( | nix_c_context * | context, |
nix_flake_settings * | settings ) |
A new nix_flake_lock_flags with defaults.
[in] | settings | Flake settings that may affect the defaults |
nix_err nix_flake_lock_flags_set_mode_check | ( | nix_c_context * | context, |
nix_flake_lock_flags * | flags ) |
Put the lock flags in a mode that checks whether the lock is up to date.
[out] | context | Optional, stores error information |
[in] | flags | The flags to modify |
This causes nix_flake_lock to fail if the lock needs to be updated.
nix_err nix_flake_lock_flags_set_mode_virtual | ( | nix_c_context * | context, |
nix_flake_lock_flags * | flags ) |
Put the lock flags in a mode that updates the lock file in memory, if needed.
[out] | context | Optional, stores error information |
[in] | flags | The flags to modify |
[in] | update | Whether to allow updates |
This will cause nix_flake_lock to update the lock file in memory, if needed.
nix_err nix_flake_lock_flags_set_mode_write_as_needed | ( | nix_c_context * | context, |
nix_flake_lock_flags * | flags ) |
Put the lock flags in a mode that updates the lock file on disk, if needed.
[out] | context | Optional, stores error information |
[in] | flags | The flags to modify |
[in] | update | Whether to allow updates |
This will cause nix_flake_lock to update the lock file on disk, if needed.
nix_err nix_flake_reference_and_fragment_from_string | ( | nix_c_context * | context, |
nix_fetchers_settings * | fetchSettings, | ||
nix_flake_settings * | flakeSettings, | ||
nix_flake_reference_parse_flags * | parseFlags, | ||
const char * | str, | ||
size_t | strLen, | ||
nix_flake_reference ** | flakeReferenceOut, | ||
nix_get_string_callback | fragmentCallback, | ||
void * | fragmentCallbackUserData ) |
Parse a URL-like string into a nix_flake_reference.
[out] | context | context – Optional, stores error information |
[in] | fetchSettings | context – The fetch settings to use |
[in] | flakeSettings | context – The flake settings to use |
[in] | parseFlags | context – Specific context and parameters such as base directory |
[in] | str | input – The URI-like string to parse |
[in] | strLen | input – The length of str |
[out] | flakeReferenceOut | result – The resulting flake reference |
[in] | fragmentCallback | result – A callback to call with the fragment part of the URL |
[in] | fragmentCallbackUserData | result – User data to pass to the fragment callback |
void nix_flake_reference_free | ( | nix_flake_reference * | store | ) |
Deallocate and release the resources associated with a nix_flake_reference.
Does not fail.
[in] | store | the nix_flake_reference * to free |
void nix_flake_reference_parse_flags_free | ( | nix_flake_reference_parse_flags * | flags | ) |
Deallocate and release the resources associated with a nix_flake_reference_parse_flags. Does not fail.
[in] | flags | the nix_flake_reference_parse_flags * to free |
nix_err nix_flake_reference_parse_flags_set_base_directory | ( | nix_c_context * | context, |
nix_flake_reference_parse_flags * | flags, | ||
const char * | baseDirectory, | ||
size_t | baseDirectoryLen ) |
Provide a base directory for parsing relative flake references.
[out] | context | Optional, stores error information |
[in] | flags | The flags to modify |
[in] | baseDirectory | The base directory to add |
[in] | baseDirectoryLen | The length of baseDirectory |
nix_err nix_flake_settings_add_to_eval_state_builder | ( | nix_c_context * | context, |
nix_flake_settings * | settings, | ||
nix_eval_state_builder * | builder ) |
Initialize a nix_flake_settings to contain builtins.getFlake and potentially more.
[out] | context | Optional, stores error information |
[in] | settings | The settings to use for e.g. builtins.getFlake |
[in] | builder | The builder to modify |
nix_flake_settings * nix_flake_settings_new | ( | nix_c_context * | context | ) |
Create a nix_flake_settings initialized with default values.
[out] | context | Optional, stores error information |
void nix_locked_flake_free | ( | nix_locked_flake * | locked_flake | ) |
Deallocate and release the resources associated with a nix_locked_flake. Does not fail.
[in] | locked_flake | the nix_locked_flake * to free |
nix_value * nix_locked_flake_get_output_attrs | ( | nix_c_context * | context, |
nix_flake_settings * | settings, | ||
EvalState * | evalState, | ||
nix_locked_flake * | lockedFlake ) |