GNU Guix is a package manager that allows for transactional and deterministic software management and deployment. Guix System is an operating system based on the Guix package manager.

GNU Guix is completely source based down to the bootstrap level and can be installed on any Linux operating system.

  • TheModerateTankie [any]@hexbear.net
    link
    fedilink
    English
    arrow-up
    4
    ·
    3 days ago

    Are there any good guides/tutorials for guix?

    I liked the nix approach but some of the way it was managed (anduril) put me off it. I found the universal blue distros got closest to what I wanted to do in nix anyway, but if guix can get close to that experience I would like to check it out.

    • mononoke@lemmy.sdf.org
      link
      fedilink
      English
      arrow-up
      3
      ·
      2 days ago

      Guix System is still niche enough that finding real-world examples will be difficult, but not impossible if you are persistent. As @hello_hello@hexbear.net said, the documentation is very well done and comprehensive for the most part. Very few methods and properties are still undocumented, but they do exist and that can be a pain to navigate if you’re not prepared to dive into Scheme source code. I really appreciate David Wilson of System Crafters, he is very knowledgeable and a lot of his prior work with Emacs configuration was in my wheelhouse anyway. Same with David Thompson, who has contributed a lot of tools utilizing Scheme that were particularly relevant to my hobbyist sysadmin work. I think Guix, like Emacs, requires a very stretchy sort of mind to really take advantage of and get into, and it takes a long time to pay off. If universal blue is working for you, then I’d recommend just playing around with the package manager part of Guix first, and if you wind up liking it then try out the full Guix System.

      • hello_hello [comrade/them]@hexbear.netOPM
        link
        fedilink
        English
        arrow-up
        1
        ·
        2 days ago

        +1 on using guix on a foreign distribution. It gives you some flexibility in how to set up software. For example, I’m on an asahi macbook so a lot of ARM platform packages on the default CI server haven’t been compiled or there isn’t support yet (for example openjdk on arm has no substitutes).

        In those cases you can then decide to either package a binary release of said software or use containers, and if both of those don’t work then install distro packages systemwide.

    • hello_hello [comrade/them]@hexbear.netOPM
      link
      fedilink
      English
      arrow-up
      2
      ·
      2 days ago

      The guix manual is a good starting point. SystemCrafters has articles on guix and guile but they’re more like blogs and can be outdated. Guix cookbook has some good examples to check out.

      Guix source code is also a good way to learn, since most everything is written in self describing lisp you can learn by example. Theres a lot more rough patches in guix than what you’d get with nixos ootb, I’d recommend looking into universal blue first and then augmenting that with guix if you can.

  • wheresmysurplusvalue [comrade/them]@hexbear.net
    link
    fedilink
    English
    arrow-up
    6
    ·
    3 days ago

    I installed Guix System on an old partly broken laptop after seeing it recommended here. Been running it for about 3 weeks and I think it will replace NixOS for me. There aren’t quite as many packages, but the gap is not that big and I’m usually ok to just use other software instead if a program is missing. I was able to make 2 packaging PRs in my first week, which I think is a testament to the choice to use Scheme. (I never wrote lisp before this.)

    One thing I miss from the Nix ecosystem is that there are way more service definitions, e.g. it’s almost trivial to set up a basic Matrix server in Nix these days. That’s only due to the network effect, much larger contributor base for Nix. That can only be addressed by joining and contributing.

  • mononoke@lemmy.sdf.org
    link
    fedilink
    English
    arrow-up
    6
    ·
    3 days ago

    I love Guix. I think it’s extremely powerful, and I love that it’s the same language I use for my little Emacs world, too. As time passes I think GNU software in particular is braced to stand the test of time in better shape than many of their contemporaries. Craven opportunists that litter this field are allergic to the GPL, which is fine by me.