Trying out Guix for the first time! Waiting for packages to download.
I’m a long time Arch user. Any tips?!
I’ve heard there aren’t as many packages for Guix as other distros, but I was thinking Flatpak and distrobox will help bridge the gap for me.
Yeah! This is one of the features I’m most interested in. I haven’t gotten to using this feature yet, but I was curious about it.
Let’s say I’m working on a project that requires Go, Node, maybe some C library, and GNU Make. Seems like I would be able to use
guix shell
for this, right? Great.Now if a friend wanted to work on the project, could I share my
guix shell
configuration with him? (Assuming he’s also a Guix user.)I’m currently using
distrobox.ini
plusdistrobox assemble
for this kind of workflow, but of course this isn’t totally reproducible.Also, welcome to Guix System Distribution, I hope you stick around
yes, you would share with him guix manifest which is a file that specifies which packages should be present. What is important to note are inferiors which is a mechanism to version lock the packages.
Aaaah: https://guix.gnu.org/manual/devel/en/html_node/Writing-Manifests.html
# Write a manifest for the packages specified on the command line. guix shell --export-manifest gcc-toolchain make git > manifest.scm
Heck yeah!
thats it :) Now you need to pin package versions to guix versions via inferior so that you can share the manifest and be sure you have exact same stuff on the other machine. Otherwise the specified packages get updated everytime you update your system. I learned that the hard way by having to wait for latex to download everytime I updated my system.
Iirc guix shell is for one off package or programs you want to test, say you want to quickly format a drive to exfat or so, when you exit the sub-shell, the installed packages are discarded
guix shell containers would work best for your scenario but I have little experience with them