5个版本 (3个重大更改)

0.4.0 2022年12月6日
0.3.0 2022年9月18日
0.2.0 2022年8月4日
0.1.1 2022年6月28日
0.1.0 2022年6月28日

#13 in #nixos

MIT 许可证

29KB
634

libnixstore

是一个基于C++绑定的库,提供对本地nix存储的简单访问。它模拟了现有的perl绑定,同时还增加了可能有用的绑定。

注意:此项目提供绑定,这使得项目自动变为不安全的。

支持的nix版本

  • nix 2.8
  • nix 2.9
  • nix 2.10
  • nix 2.11

需求

它仅适用于已安装nix包管理器的系统。为此,您应该设置一个简单的shell.nix

with import <nixpkgs> { };
stdenv.mkDerivation {
  name = "xyz";
  nativeBuildInputs = [ rustc cargo gcc pkg-config ];
  buildInputs = [
    # required
    nix
    nlohmann_json
    libsodium
    boost

    # additional packages you might need
    rustfmt
    clippy
    # ...
  ];

  RUST_SRC_PATH = "${pkgs.rust.packages.stable.rustPlatform.rustLibSrc}";
}

示例

fn main() {
    libnixstore::init();
    println!("{}", libnixstore::get_store_dir());
}

依赖关系

~0.5–2MB
~31K SLoC