!lTqhfnNvIkcEackxxk:matrix.org

Nix Bindings

69 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)18 Servers

Load older messages


SenderMessageTime
1 Jan 2025
@butterbohn:matrix.org@butterbohn:matrix.org left the room.13:05:59
@mjolnir:nixos.orgNixOS Moderation Botchanged room power levels.14:26:12
2 Jan 2025
@error_pro:matrix.orgerror_pro joined the room.10:12:04
4 Jan 2025
@kranzes:matrix.org@kranzes:matrix.org left the room.15:30:46
7 Jan 2025
@annatrans:matrix.org@annatrans:matrix.org joined the room.02:16:02
8 Jan 2025
@mjolnir:nixos.orgNixOS Moderation Bot banned @annatrans:matrix.org@annatrans:matrix.org (spam).11:57:18
10 Jan 2025
@o-santi:matrix.orgLeonardo Santiago what's the difference between nix_store_realise and nix_string_realise when the value is a derivation path? and is there a way to build multiple paths when the derivation itself can't be built? or do i need to just call nix_store_realise in a loop - this does not seem very efficient 14:12:30
@o-santi:matrix.orgLeonardo Santiago * what's the difference between nix_store_realise and nix_string_realise when the value is a derivation path? and is there a way to build multiple (input source) paths when the derivation itself can't be built? or do i need to just call nix_store_realise in a loop - this does not seem very efficient 14:12:43
@o-santi:matrix.orgLeonardo Santiago * what's the difference between nix_store_realise and nix_string_realise when the value is a derivation path? and is there a way to build multiple (input source) paths when the derivation itself can't be built? calling nix_store_realise in a loop does not seem very efficient 14:13:05
@alex:afuchs.de@alex:afuchs.de left the room.15:02:44
@o-santi:matrix.orgLeonardo Santiago basically, is there any intent to add Store::buildPaths to the C API 16:16:43
11 Jan 2025
@pandapip1:matrix.orgpandapip1 joined the room.21:23:02
14 Jan 2025
@joerg:thalheim.ioMic92 I used nixstorerealize instead of buildPaths in the past 13:39:33
@joerg:thalheim.ioMic92 I used nix_store_realize instead of buildPaths in the past 13:39:49
15 Jan 2025
@roberthensing:matrix.orgRobert Hensing (roberth)contributions welcome06:19:41
@roberthensing:matrix.orgRobert Hensing (roberth) we do have nix_string_realise, in case your paths come from the same string in the expression language 06:20:43
@roberthensing:matrix.orgRobert Hensing (roberth)

what's the difference

The string one also works for strings that have multiple store paths in them, whereas nix_store_realise doesn't require the nix-expr library

06:22:58
@o-santi:matrix.orgLeonardo Santiagohonestly I have been thinking about contributing given the amount of time I have been reading nix source code the last couple of days, but I have literally 0 experience in C++ 15:23:43
@o-santi:matrix.orgLeonardo Santiagoand most of the code still confuses me, specially regarding inheritance and file importing that creates "spooky action from distance"15:25:04
@o-santi:matrix.orgLeonardo Santiago but yeah, right now I need to implement a way to build a derivation through the C FFI, and honestly I think the easiest way will be to re-export as string, eval it, and use nix_string_realise onto it 15:32:40
16 Jan 2025
@water-sucks:matrix.orgwatersucks changed their profile picture.02:55:40
@water-sucks:matrix.orgwatersucks changed their profile picture.03:07:10
17 Jan 2025
@o-santi:matrix.orgLeonardo Santiagohmph, not as easy as I thought. when you parse the derivation from the file, it loses the contexts on the strings, and there's not simple way to readd it, such that if I just try to export it back to a derivation it does not return to the same one18:34:15
@o-santi:matrix.orgLeonardo Santiago my idea was to parse builtins.derivation as a function and then pass an attrset as argument, to see if I could generate the exact same derivation, but I guess this is not as easy as I initially thought 18:35:01
19 Jan 2025
@o-santi:matrix.orgLeonardo Santiago I mean, it works, but it does not generate the same derivation back, because I cannot for the life of me make inputSrcs and inputDrvs appear in the resulting derivation. 16:01:45
@o-santi:matrix.orgLeonardo Santiago even if I add buildInputs and inputDrvs and inputSrcs as attributes in the argument passed to builtins.derivation, they do not put anything in the correct fields and instead only appear as environment variables 16:03:56
@o-santi:matrix.orgLeonardo Santiagocan anyone think of any simple way of doing this? I'm very close to just trying to hack exporting derivations in the C API, though I'm fairly certain I'm not qualified for doing it 16:05:33
20 Jan 2025
@roberthensing:matrix.orgRobert Hensing (roberth)

That's kind of the purpose of inputDrvs and inputSrc.

correct fields

Which fields would that be? Are you trying to produce the full package attribute set? That can not be recovered from the .drv due to things like meta and passthru to put it simply

08:09:59
@emily:woof.ripemily 🐾 joined the room.23:50:01
@emily:woof.ripemily 🐾 left the room.23:50:12

Show newer messages


Back to Room ListRoom Version: 10