@jperkel
"Manage your environments" is definitely good advice. But to share environments with others, or to archive them for future use, the environments themselves must be reproducible. And to ensure that code runs reproducibly inside an environment, the latter must be containerized.
Conda environments are neither reproducible nor containerized. The price to pay for cross-platform and no-root. A compromise. Would have been nice to point that out!
No-root is in principle possible for #Nix and #Guix under #Linux, but not available today.
Cross-platform reproducibility is not possible, period. You can run #Nix under #macOS as well as under #Linux, but you get reproducibility only within each platform.
Moreover, reproducibility with #Nix under #macOS is limited because #Nix depends on code it cannot control (managed by Apple).
@khinsen @raito @jperkel @Nature @ctb @fertiglab @minecr @benmarwick It's quite something. None of the Nix+Docker tutorials work on a Mac.
So what's the point of this thing?
@raito @khinsen @jperkel @Nature @ctb @fertiglab @minecr @benmarwick Asking on the Discourse about cross-compilation I'm concluding that it's mostly theoretical…
And on my Mac I'll be stuck with two cross-compiles that both need to work:
- Compile from macOS to Linux container running on my M1
- Compile from macOS to Linux container running on target architecture (x86 or something)
@raito @khinsen @jperkel @Nature @ctb @fertiglab @minecr @benmarwick At this point I'd kill for a fat binary.
The job to be done is: I want to run a command in the Rust project directory on my Mac and then have something that I can deploy somewhere.