guix

Drew Verlee 2023-06-19T20:25:49.244689Z

I'm I correct that the best way to compose version-locked packages (e.g. java, Nodejs) is via Guix shell? So, for example: > guix shell openjdk@11 nodejs@12 -- bash Follow-up questions... using Guix like this would supplant the need for nvm, right? Meanwhile, java doesn't seem to have a good way to switch versions on a per-project (file directory) basis, or is there one?

Eugen 2023-06-20T08:30:49.133839Z

yes, but IMO, guix currently does not have a sistem to work with multiple versions at the same time. Debian has alternatives for example https://wiki.debian.org/DebianAlternatives . nvm, sdk are designed with this purpose in mind. I don't know os such a thing in guix per se. As a package manager you can choose to support multiple versions at the same time, but I believe end user does not have a way to specify which version to use (except maybe JAVA_HOME or similar, but not sure how this works in guix ).

Eugen 2023-06-20T08:31:46.298849Z

I do believe that guix could have used a package naming like maven / flatpak (with group/artifact:version scheme) so this use case could have been better addressed

Benjamin C 2023-06-19T20:37:37.272409Z

I'm on the clock so apologies in advance for this incomplete response: I think you can set up each project with a manifest file to specify exact versions and packages per each.

👍 1