Title: Extend Guix Linux with the nonguix repository | |
Author: Solène | |
Date: 27 May 2021 | |
Tags: guix | |
Description: | |
# Introduction | |
Guix is a full open source Linux distribution approved by the FSF, | |
meaning it's fully free. However, for many people this will mean the | |
drivers requiring firmwares won't work and their usual software won't | |
be present (like Firefox isn't considered free because of trademark | |
issue). | |
A group of people is keeping a parallel repository for Guix to add some | |
not-100% free stuff like kernel with firmware loading capability or | |
packages such as Firefox, this can be added to any Guix installation | |
quite easily. | |
nonguix git repository | |
Guix project website | |
# Configuration | |
Most of the code and instructions you will find here come from the | |
nonguix README, you need to add the new channel to download the | |
packages or the definitions to build them if they are not available as | |
binary packages (called substitutions) yet. | |
Create a new file /etc/guix/channels.scm with this content: | |
``` | |
(cons* (channel | |
(name 'nonguix) | |
(url "https://gitlab.com/nonguix/nonguix") | |
;; Enable signature verification: | |
(introduction | |
(make-channel-introduction | |
"897c1a470da759236cc11798f4e0a5f7d4d59fbc" | |
(openpgp-fingerprint | |
"2A39 3FFF 68F4 EF7A 3D29 12AF 6F51 20A0 22FB B2D5")))) | |
%default-channels) | |
``` | |
And then run "guix pull" to get the new repository, you have to restart | |
"guix-daemon" using the command "herd restart guix-daemon" to make it | |
accounted. | |
# Deploy a new kernel | |
If you use this repository you certainly want to have the kernel | |
provided that allow loading firmwares and the firmwares, so edit your | |
/etc/config.scm | |
``` | |
(use-modules (nongnu packages linux) | |
(nongnu system linux-initrd)) | |
(operating-system ;; you should already have this line | |
(kernel linux) | |
(initrd microcode-initrd) | |
(firmware (list linux-firmware)) | |
#... | |
``` | |
Then you use "guix system reconfigure /etc/config.scm" to rebuild the | |
system with the new kernel, you will certainly have to rebuild the | |
kernel but it's not that long. Once it's done, reboot and enjoy. | |
# Installing packages | |
You should also have packages available now. You can enable the | |
channel for your user only by modifying ~/.config/guix/channels.scm | |
instead of the system wide /etc/channels.scm file. Note that you may | |
have to build the packages you want because the repository doesn't | |
build all the derivations but only a few packages (like firefox, | |
keepassxc and a few others). | |
Note that Guix provide flatpak in its official repository, this is a | |
workaround for many packages like "desktop app" for instant messaging | |
or even Firefox, but it doesn't integrates well with the system. | |
# Gaming | |
There is also a dedicated gaming channel! | |
Guix gaming channel | |
# Conclusion | |
The nonguix repository is a nice illustration that it's possible to | |
contribute to a project without forking it entirely when you don't | |
fully agree with the ideas of the project. It integrates well with | |
Guix while being totally separated from it, as a side project. | |
If you have any issues related to this repository, you should seek help | |
from the nonguix project and not Guix because they are not affiliated. |