This is such a cool feature!
I think your nix-ld is going to make crazy shit possible:
1 - searching through different NixOS commits historically for a library version match
2 - doing it dynamically at startup by replacing the interpreter in the ELF header
(or replacing the default interpreter on NixOS)
3 - caching the determined results in a “fingerprint file” so that its faster next time.
There’s some idea here that you can maybe just copy dynamically linked binaries across machines but have all the library resolving be deterministic from nixpkgs is really insane.
I’d love to work on that some more!
(Trying to figure out a PhD research area lol)
I think I did a mistake in my example and used the old version of zoom (by not modifying the hash). The new version reveals a bug in thread local storage of glibc that I still investigate. In the meantime I fixed the nixpkgs version here: https://github.com/NixOS/nixpkgs/pull/109602