Hello everyone,

How do you guys handle programming in languages that want to package imports "their" way? I'm mainly referring to things like Python, Golang, or Rust. I'm in the middle of a small Golang project and need to import a uuid library that guix doesn't package on it's own. I could make the package which isn't difficult but that leads me down the tension between "Go project is more portable if I use go get ..." vs "Project is more reproducible if I use Guix".

How do you all do it?

you are viewing a single comment's thread
view the rest of the comments
[–] 2 points 5 months ago (6 children)

Python is pretty easy. I don't know about guix but nix makes it easy to unvendor python dependencies.

Rust and go are basically impossible. Guix is doing some work:

https://guix.gnu.org/en/blog/2025/a-new-rust-packaging-model/

But they are the only people (afaik) who are doing work for rust. Most of the other similar projects (gentoo, debian) have given up.

Go is even worse. I don't know of anything like antioxidant or cargo2guix (linked in article above) but for go.

  • source
  • hideshow 6 child comments
  • [–] 1 point 4 months ago (5 children)

    i wouldnt say they are impossible, unless you are specifically refering to doing everything by hand

  • source
  • parent
  • hideshow 5 child comments
  • [–] 2 points 4 months ago* (2 children)

    Huh. I just checked and guix uncendors go. Very impressive.

    It looks like they let you override cargo crate deps with different versipns but they haven't managed to compile without cargo or crates yet.

  • source
  • parent
  • hideshow 2 child comments