!lTqhfnNvIkcEackxxk:matrix.org

Nix Bindings

70 Members
Nix C API https://github.com/NixOS/nix/blob/master/doc/manual/src/c-api.md, language-specific bindings, and their use cases (currently broken link: https://nixos.org/manual/nix/unstable/c-api)19 Servers

Load older messages


SenderMessageTime
14 Feb 2025
@roberthensing:matrix.orgRobert Hensing (roberth)Seems to be just an oversight. I'd be happy to accept PRs for these things, or even issues to track in the C API milestone08:53:42
@sodiboo:gaysex.cloudsodibooyeah i guess that's why it's not like, stable yet, lol.09:17:35
@roberthensing:matrix.orgRobert Hensing (roberth)The original contributor for the C API tried their best, but their use case did not include externals. We could strip out the externals and call it stable if you prefer, or we could accept the status quo, or we could accept contributions. I think we're going for the latter, but we could change our strategy16:21:15
15 Feb 2025
@benjb83:matrix.orgBenjB83 joined the room.10:16:44
@benjb83:matrix.orgBenjB83 changed their display name from Benjamín Buske to BenjB83.10:43:21
@sodiboo:gaysex.cloudsodiboo for functions taking a nix_get_string_callback, when they return NIX_OK, is the string callback guaranteed to have been called exactly once, and never again? 15:41:33
@roberthensing:matrix.orgRobert Hensing (roberth)I believe that's the contract yes. I wouldn't rule out multiple calls for sets of strings or something in the future, but that will be clearly documented then15:58:51
16 Feb 2025
@kristijan.zic:matrix.orgKristijanZic joined the room.01:04:36
17 Feb 2025
@marcusramberg:matrix.orgMarcus changed their profile picture.21:38:25
21 Feb 2025
@me:linj.techlinj joined the room.11:51:44
5 Mar 2025
@phanirithvij:matrix.orgloudgolem joined the room.02:41:22
17 Mar 2025
@acidbong:envs.net@acidbong:envs.net joined the room.11:38:50
@acidbong:envs.net@acidbong:envs.netafternoon, fellers and felines i hope this is the right channel to ask: is there a language-agnostic API for Nix daemon or does it require C bindings? i'd love to try to use a different language instead of Nix11:44:47
@roberthensing:matrix.orgRobert Hensing (roberth)Reimplementations exist, but I don't have recommendations. Using the C API would be possible, but the store layer C API is very minimal at the moment; just enough to supplement the evaluator C API; not much more than the ability to have a Store, a StorePath and build a derivation20:31:18
@acidbong:envs.net@acidbong:envs.netgot it and I just realized that i'd rather use a transpiler to Nix to do what i want anyway, thx20:34:16
@acidbong:envs.net@acidbong:envs.net left the room.20:34:22
19 Mar 2025
@o-santi:matrix.orgLeonardo Santiagoshould I be able to copy derivation closures between remote stores without passing through my own local machine?12:08:35
@o-santi:matrix.orgLeonardo SantiagoI tried doing it through the FFI but it grinds to a halt and never returns12:08:52
@xokdvium:matrix.orgSergei Zimmerman (xokdvium) changed their display name from xokdvium to Sergei Zimmerman (xokdvium).21:12:16
22 Mar 2025
@yorickvp:matrix.orgyorickvp joined the room.14:18:57
@yorickvp:matrix.orgyorickvpin theory yes, in practice I think the copying code does some calls that aren't efficient if both stores are remote14:20:54
28 Mar 2025
@roberthensing:matrix.orgRobert Hensing (roberth)Heads-up regarding libflake initialization breaking in 2.28 https://github.com/roberth/nix/blob/0c75581d8b7cfbfa7a8db9b5dcbf0cbf0709009f/doc/manual/rl-next/c-api-flake-init.md18:06:59
@roberthensing:matrix.orgRobert Hensing (roberth)I've decided to keep it simple and break this, since the changed solution is a recent addition, and C API progress is slow enough as is. Contributions welcome :)18:09:40
2 Apr 2025
@roberthensing:matrix.orgRobert Hensing (roberth) PR adding exposing flake locking functionality in the C API 16:17:09
4 Apr 2025
@roberthensing:matrix.orgRobert Hensing (roberth)rfr ^14:46:50
@roberthensing:matrix.orgRobert Hensing (roberth) we don't have a solution for actually loading settings yet 14:47:30
@o-santi:matrix.orgLeonardo Santiago I'm getting SIGSEGV when calling nix_get_attr_byname with (what it seems to me are) completely valid arguments, that shouldn't even throw an error. 16:15:40
@o-santi:matrix.orgLeonardo Santiago

This is as much information as I can gather from gdb, as I don't know how to enable debug information on the nix C API, for some reason setting dontStrip = true doesn't work for the nix-{x}-c packages.

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff6aaee5a in nix::ExprVar::eval(nix::EvalState&, nix::Env&, nix::Value&) ()
   from /nix/store/8dlfn55w3b3szqsph1dp2i2jqg0di1gr-nix-expr-2.27.0/lib/libnixexpr.so
16:17:55
@o-santi:matrix.orgLeonardo SantiagoNot sure how to improve this report, the nix expression is fairly complex and I can't include it, but the program itself should just call eval on an expression from file then access its attributes one by one in a list. I'd like to get some line number information going on but I don't seem to be able to.16:20:23
@o-santi:matrix.orgLeonardo Santiago *

This is as much information as I can gather from gdb, as I don't know how to enable debug information on the nix C API .so libraries, for some reason setting dontStrip = true doesn't work for the nix-{x}-c packages.

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff6aaee5a in nix::ExprVar::eval(nix::EvalState&, nix::Env&, nix::Value&) ()
   from /nix/store/8dlfn55w3b3szqsph1dp2i2jqg0di1gr-nix-expr-2.27.0/lib/libnixexpr.so
16:20:44

Show newer messages


Back to Room ListRoom Version: 10