Just stumbled across this. It seems the mentioned C bindings PR was merged, does that mean we can use the go bindings (and also the mentionend python bindings) with current nix versions?
I’ve been working on some go programs that interact with nix and would love to replace the hacky exec() calls with proper bindings to interact with nix from go code.
It’s not wrong to program against the CLI.
A downside of bindings is that you’re linking against a specific Nix version that’s not the system version or the version that’s normally used with your store.
Multiple versions generally work well together, but it can be surprising to users nonetheless, just to see that a feature is not available, and that kind of thing.