Oxidized bindings for the Nix package manager!!
Find a file
Robert Hensing e6b993a42b feat: nix_expr::value::__private
Exposes the Value constructors, for use by other bindings like
nix-flake, which needs to construct e.g. a flake outputs Value.

See https://github.com/nixops4/nixops4/issues/25

> We have two related issues:

> A bunch of implementation details cannot be made private, since they must be used from one of the other crates (e.g. Values are defined in the value module but used from eval_state
> While we don't want users to need to use these features, it may be good to provide escape hatches so they can interface with the raw API if they need more control.
> Problem (1) has been solved in other crates with a __private module with #[doc(hidden)] set. See for instance:

I'm leaving docs turned on for (2). The issue has more thoughts about
alternatives.

(cherry picked from commit eb6744d1519febe5b6aa6233eb3f3e8a049f12d4)
2025-10-04 02:31:16 +02:00
.claude refact: Move dev-only dependencies into separate lock file 2025-10-04 02:31:16 +02:00
.vscode dev: Add indentation rules to .vscode 2025-09-30 19:02:44 +02:00
dev dev/flake.lock: Update 2025-10-04 02:31:16 +02:00
doc/hacking feat: Add manual testing of bindings with Valgrind 2025-09-30 18:45:54 +02:00
rust feat: nix_expr::value::__private 2025-10-04 02:31:16 +02:00
.envrc feat: Rust skeleton 2025-09-30 17:57:50 +02:00
.gitignore feat: Rust skeleton 2025-09-30 17:57:50 +02:00
flake.lock maint: Update nix to 2.29pre 2025-10-04 02:31:16 +02:00
flake.nix maint: Update nix to 2.29pre 2025-10-04 02:31:16 +02:00
LICENSE License as LGPL-2.1 2025-10-04 02:31:16 +02:00
README.md feat: Rust skeleton 2025-09-30 17:57:50 +02:00

nix_bindings_* crates

Use the Nix C API from Rust.

Hacking

The following will open a shell with dependencies, and install pre-commit for automatic formatting.

$ nix develop

VSCode

rust-analyzer

If the rust-analyzer extension fails, make sure the devShell was loaded into VSCode via Nix Env Selector or direnv.