59
submitted 2 days ago by [email protected] to c/[email protected]

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.

you are viewing a single comment's thread
view the rest of the comments
[-] [email protected] 2 points 1 day ago

I love it especially because of the guix shell and guix shell container for dev environment isolation. It is a whole different ecosystem from the ground up though so it's not an easy ride. But those two features make it worth it for me. Also it's GNU distro which imo is a plus.

[-] [email protected] 1 points 20 hours ago

guix shell and guix shell container for dev environment isolation

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 plus distrobox assemble for this kind of workflow, but of course this isn't totally reproducible.

[-] [email protected] 0 points 10 hours ago

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.

[-] [email protected] 1 points 9 hours ago* (last edited 9 hours ago)

share with him guix manifest

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!

[-] [email protected] 1 points 5 hours ago

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.

[-] [email protected] 2 points 18 hours ago

Also, welcome to Guix System Distribution, I hope you stick around

[-] [email protected] 1 points 18 hours ago

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.

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

this post was submitted on 06 Jul 2025
59 points (98.4% liked)

Linux

56168 readers
946 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 6 years ago
MODERATORS