nixide/rust/nix-c-raw
Robert Hensing b3a80dd36e maint: Remove Cargo.toml patch constraints
(cherry picked from commit 155550be6a8487771ddb67d09f3eba829e54e622)
2025-10-04 02:31:16 +02:00
..
include maint: Update Nix 2025-10-04 02:31:16 +02:00
src feat: Add crate nix-c-raw 2025-09-30 18:19:39 +02:00
build.rs refact: Resolve some clippy warnings 2025-10-04 02:31:16 +02:00
Cargo.toml maint: Remove Cargo.toml patch constraints 2025-10-04 02:31:16 +02:00
README.md feat: Add crate nix-c-raw 2025-09-30 18:19:39 +02:00

nix-c-raw

This crate contains generated bindings for the Nix C API. You should not have to use this crate directly, and so you should probably not add it to your dependencies. Instead, use the nix-util, nix-store and nix-expr crates, which should be sufficient.

Design

Rust bindgen currently does not allow "layered" libraries to be split into separate crates. For example, the expr crate would have all-new types that are distinct and incompatible with the store crate.

Ideally bindgen will support reusing already generated modules, and we could move the code generation into the appropriate crates, so that the system dependencies of each crate become accurate.