Is anyone here working with dfx on NixOS?
Until dfx is open sourced we have to live with the binary that’s shipped in
https://sdk.dfinity.org/downloads/dfx/0.8.1/x86_64-linux/dfx-0.8.1.tar.gz. The problem is that it’s not a static binary, and has
/lib64/ld-linux-x86-64.so.2 hard-coded as the ELF interpreter.
I can create a nix derivation that fixes that for
dfx, so I can run
dfx has this odd habit of unpacking further such binaries to
~/.cache/dfinity/versions/0.8.1/, and that happens at runtime, so I cannot patch it.
I created a nix derivation that, at build time, extracts these binaries, fixes their ELF interpreter, and then uses
DFX_CONFIG_ROOT to make
dfx use these, but that environment variable doesn’t just affect where
dfx looks for the path, but also where it stores the identity, so letting that point to
/nix/store doesn’t work well either. Too bad there is no way to set just the cache directory.
I guess waiting for dfx to be open source will be easiest.
@jwiegley, how do you do that?