nixide/rust/nix-c-raw
Robert Hensing 895336ac79 License as LGPL-2.1
(cherry picked from commit 1127742e387ef78b91ec1e4cec0bb17b5e85666c)
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 License as LGPL-2.1 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.