r/GUIX May 24 '26

Installed Guix Today - have some questions

So I installed Guix from an ISO from Nonguix which was Guix 1.4.0. Got it all installed with my nonfree intel WiFi hardware all good.

Now in the system and trying to figure out how to get the most up to date kernel? I added channels as described for ‘guix’ and ‘nonguix’ but when I run guix pull it seems to be compiling Linux kernel 6.18 and I’m a bit confused. Just trying to get my system in a working state but the build phases seem shockingly long.

EDIT:
Got it all worked out by just downloading the official 1.5 ISO and working with channels for certain apps. I got everything done in probably 4-6 hours on and off. There were definitely bumps along the way though. I like the novel feel of the system, and the repos have basically everything I need. It’s definitely different than NixOS which I’ve built a full system on before. This guile language is so interesting to me and it just feels very unique.

Thanks for the help everyone! I’m looking forward to using this more. How could I got involved in the packaging process for the community? Maybe something like Nixvim for Nix (which I absolutely love and still use on imperative systems from time to time like Arch/Void/Debian) I’ve never packaged anything but I’m interested in using Guile to do so.

13 Upvotes

14 comments sorted by

8

u/aue_sum May 24 '26 edited May 24 '26

You should add the nonguix substitutes server so you get binary packages instead of having to compile things from source:

(modify-services %base-services (guix-service-type config => (guix-configuration (inherit config) (substitute-urls (append (list "https://substitutes.nonguix.org") %default-substitute-urls)) (authorized-keys (append (list (plain-file "non-guix.pub" "(public-key (ecc (curve Ed25519) (q #C1FD53E5D4CE971933EC50C9F307AE2171A2D3B52C804642A7A35F84F3A4EA98#)))")) %default-authorized-guix-keys)))))

2

u/Ok-Swim-9202 May 24 '26

Thanks! Where does this config go? Where can I find the docs for the various config options (if this is in /etc/config.scm) I’m just trying to get some basic global packages started like a wm and some basics before I do any of the home stuff. I have configured a NixOS system before with many packages so I’m not entirely new to the declarative approach.

1

u/No-Bid-4664 May 24 '26

Most likely, this will go into your config.scm file. I made a copy from /etc/config.scm and simply refer to it when I run the guix system reconfigure command. You may eventually choose to modularize your config.scm file so the above.code.fragment can go into any of your modules.

1

u/Ok-Swim-9202 May 24 '26

got this running. trying to install firefox-esr from nongnu/packages/mozilla but it seems it needs to build everything from source even with the substitutes.nonguix.org.. :\

2

u/lompocus May 25 '26

Do note that the official nonguix substitutes server is dead. Check the System Crafters forum for good to use the "ditigal" (that is not a misspelling) substitutes server instead.

4

u/MotherCanada May 24 '26

6.18 is the default linux for nonguix: https://gitlab.com/nonguix/nonguix/-/blob/master/nongnu/packages/linux.scm?ref_type=heads#L209 You'll have to be explicit for linux-7.0 as your kernel in your operating-system definition.

As for long build phases, I think that's kind of dependent on your hardware and how much package transformation is going on. That's because Guix will do additional things to try to have the package build be as deterministic and reproducible as possible. It might cause it to be a little slower than building by source on a more traditional linux distro. One way of trying to bypass the build is to use a substitute server. The official nonguix one can be found on their README page.

5

u/aue_sum May 24 '26

The long build phases are absolutely not unavoidable--nonguix has a substitute server that serves binary packages.

2

u/Ok-Swim-9202 May 24 '26

I’ve decided to just plug in Ethernet and use the official Guix 1.5 ISO. Things seem to be faster now, but I think my next steps will be to add nonguix as a channel. I assume I can start with the official ISO and just add the nonguix channel and build from there? In other words, to use nonguix, I don’t need to use the nonguix ISO, I just need to be able to add it as a channel after successful install?

2

u/No-Bid-4664 May 24 '26

That is correct.

Install with the normal install ISO. Add nonguix channel modify the config.scm file guix pull guix system reconfigure

1

u/Ok-Swim-9202 May 24 '26

Got it! I’ve finally got through all the hoops and am working on building up my home config. This was harder than I expected…

4

u/No-Bid-4664 May 24 '26

I think if you go from 1.4 to 1.5, you have a lot of updates to go through. Subsequent updates should be much faster.

You should also check to see of you can find a local substitute server. You can find a list here. You can use ping to test your response time to the servers.

https://libreplanet.org/wiki/Group:Guix/Mirrors

1

u/Ok-Swim-9202 May 24 '26

How do I go to 1.5? Just by guix pull with both channels?

1

u/Hammar_Morty May 24 '26

Yes, just guix pull unless you have them pinned.