Oxidized bindings for the Nix package manager!!
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) |
||
|---|---|---|
| .claude | ||
| .vscode | ||
| dev | ||
| doc/hacking | ||
| rust | ||
| .envrc | ||
| .gitignore | ||
| flake.lock | ||
| flake.nix | ||
| LICENSE | ||
| README.md | ||
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.