Guix : un outil pour les remplacer tous ?

Tags: #<Tag:0x00007ff8c4a66d68> #<Tag:0x00007ff8c4a66b38> #<Tag:0x00007ff8c4a66908> #<Tag:0x00007ff8c4a66318>

Un apt en Scheme ! J’adore !

GNU Guix1 est un outil de gestion de paquets et une distribution pour le système GNU. Guix facilite pour les utilisateur·rice·s non privilégié·e·s l’installation, la mise à jour et la suppression de paquets, la restauration à un ensemble de paquets précédent, la construction de paquets depuis les sources et plus généralement aide à la création et à la maintenance d’environnements logiciels.

Mais ça a l’air d’être vraiment utile pour les package qui évoluent très très rapidement.
Ce qui me choque c’est qu’il “faut créer/qu’il y a” un nouveau dossier à la racine ( /gnu)
Et ce qui me laisse perplexe c’est qu’il faut exporter le PATH de guix qui se trouve dans bin.

Je ne sais pas quelle version de linux ils utilisent … en tous cas pour les vidéos provenant du site officiel

1 J'aime

Salut,

N’ayant jamais pratiqué Scheme ni même Lisp, j’ai du mal à me rendre compte si c’est mieux adapté que C++ pour développer apt ou quelque chose de similaire. En tous cas, ça me semble nettement préférable à cette horreur de Python qu’on voit beaucoup trop partout !

Quelqu’un a essayé sur Debian ?

J’essaie ! :slight_smile:

Avec https://git.savannah.gnu.org/cgit/guix.git/plain/etc/guix-install.sh

voir : https://guix.gnu.org/manual/fr/html_node/Installation-binaire.html#Installation-binaire

Remarque : Nous vous recommandons d’utiliser ce script d’installation shell. Ce script automatise le téléchargement, l’installation et les étapes de configuration initiales décrites plus bas. Vous devriez le lancer en tant qu’utilisateur root.

root@n40l:~# ./guix-install.sh 
    ░░░                                     ░░░
    ░░▒▒░░░░░░░░░               ░░░░░░░░░▒▒░░
     ░░▒▒▒▒▒░░░░░░░           ░░░░░░░▒▒▒▒▒░
         ░▒▒▒░░▒▒▒▒▒         ░░░░░░░▒▒░
               ░▒▒▒▒░       ░░░░░░
                ▒▒▒▒▒      ░░░░░░
                 ▒▒▒▒▒     ░░░░░
                 ░▒▒▒▒▒   ░░░░░
                  ▒▒▒▒▒   ░░░░░
                   ▒▒▒▒▒ ░░░░░
                   ░▒▒▒▒▒░░░░░
                    ▒▒▒▒▒▒░░░
                     ▒▒▒▒▒▒░
     _____ _   _ _    _    _____       _
    / ____| \ | | |  | |  / ____|     (_)
   | |  __|  \| | |  | | | |  __ _   _ ___  __
   | | |_ | . ' | |  | | | | |_ | | | | \ \/ /
   | |__| | |\  | |__| | | |__| | |_| | |>  <
    \_____|_| \_|\____/   \_____|\__,_|_/_/\_\

This script installs GNU Guix on your system

https://www.gnu.org/software/guix/
Press return to continue...
[1580034202.990]: Starting installation (dimanche 26 janvier 2020, 11:23:22 (UTC+0100))
[1580034202.995]: [ PASS ] verification of required commands completed
[1580034203.073]: [ FAIL ] Missing OpenPGP public key.  Fetch it with this command:
  wget https://sv.gnu.org/people/viewgpg.php?user_id=15145 -qO - | gpg --import -
root@n40l:~#
root@n40l:~# wget https://sv.gnu.org/people/viewgpg.php?user_id=15145 -qO - | gpg --import -
gpg: starting migration from earlier GnuPG versions
gpg: porting secret keys from '/root/.gnupg/secring.gpg' to gpg-agent
gpg: migration succeeded
gpg: key 090B11993D9AEBB5: 126 signatures not checked due to missing keys
gpg: clef 090B11993D9AEBB5 : clef publique « Ludovic Courtès <ludo@gnu.org> » importée
gpg: clef 090B11993D9AEBB5 : « Ludovic Courtès <ludo@gnu.org> » n'est pas modifiée
gpg:       Quantité totale traitée : 2
gpg:                     importées : 1
gpg:                 non modifiées : 1
gpg: aucune clef de confiance ultime n'a été trouvée
root@n40l:~# 
[1580034409.352]: Starting installation (dimanche 26 janvier 2020, 11:26:49 (UTC+0100))
[1580034409.357]: [ PASS ] verification of required commands completed
[1580034409.426]: [ INFO ] init system is: systemd
[1580034409.436]: [ INFO ] system is x86_64-linux
[1580034410.081]: [ PASS ] Release for your system: guix-binary-1.0.1.x86_64-linux
[1580034410.084]: [ INFO ] Downloading Guix release archive
guix-binary-1.0.1.x86_64-linux.tar.xz          100%[=================================================================================================>]  59,66M  14,0MB/s    ds 5,1s    
guix-binary-1.0.1.x86_64-linux.tar.xz.sig      100%[=================================================================================================>]     833  --.-KB/s    ds 0s      
[1580034415.808]: [ PASS ] download completed.
[1580034418.191]: [ PASS ] Signature is valid.
[1580034441.582]: [ PASS ] unpacked archive
[1580034441.586]: [ INFO ] Installing /var/guix and /gnu...
[1580034441.633]: [ INFO ] Linking the root user's profile
[1580034441.668]: [ PASS ] activated root profile at /root/.config/guix/current
[1580034442.083]: [ PASS ] group <guixbuild> created
[1580034442.733]: [ PASS ] user added <guixbuilder01>
[1580034443.204]: [ PASS ] user added <guixbuilder02>
[1580034443.670]: [ PASS ] user added <guixbuilder03>
[1580034444.143]: [ PASS ] user added <guixbuilder04>
[1580034444.918]: [ PASS ] user added <guixbuilder05>
[1580034445.301]: [ PASS ] user added <guixbuilder06>
[1580034445.721]: [ PASS ] user added <guixbuilder07>
[1580034446.105]: [ PASS ] user added <guixbuilder08>
[1580034446.575]: [ PASS ] user added <guixbuilder09>
[1580034446.954]: [ PASS ] user added <guixbuilder10>
Created symlink /etc/systemd/system/multi-user.target.wants/guix-daemon.service → /etc/systemd/system/guix-daemon.service.
[1580034449.142]: [ PASS ] enabled Guix daemon via systemd
[1580034449.145]: [ INFO ] making the guix command available to other users
Permit downloading pre-built package binaries from the project's build farm? (yes/no) yes

Autoriser le téléchargement de paquets binaires pré-construits à partir de la ferme de construction du projet ?

Je dis “yes”

Permit downloading pre-built package binaries from the project's build farm? (yes/no) yes
[1580034838.029]: [ PASS ] Authorized public key for ci.guix.gnu.org
[1580034838.036]: [ INFO ] cleaning up /tmp/guix.LrM
[1580034838.071]: [ PASS ] Guix has successfully been installed!
[1580034838.074]: [ INFO ] Run 'info guix' to read the manual.
root@n40l:~# date
dimanche 26 janvier 2020, 11:34:28 (UTC+0100)
root@n40l:~# 

Avec le paquet info installé, info guix fonctionne pour l’utilisateur ordinaire et donne accès à la documentation qui est également proposée en français.

Next: Introduction,  Up: (dir)

GNU Guix
********

Cette documentation décrit GNU Guix version 1.0.1, un outil de gestion
de paquets fonctionnel écrit pour le système GNU.

   This manual is also available in Simplified Chinese (*note
(guix.zh_CN)Top::), French (*note (guix.fr)Top::), German (*note
(guix.de)Top::), Spanish (*note (guix.es)Top::), and Russian (*note
(guix.ru)Top::). If you would like to translate it in your native
language, consider joining the Translation Project
(https://translationproject.org/domain/guix-manual.html).

* Menu:

* Introduction::             Qu’est-ce que Guix ?
* Installation::             Installer Guix.
* Installation du système::  Installer le système d’exploitation complet.
* Gestion de paquets::       Installation des paquets, mises à jour, etc.
* Développement::            Développement logiciel simplifié par Guix.
* Interface de programmation::  Utiliser Guix en Scheme.
* Utilitaires::              Commandes de gestion de paquets.
* Configuration système::    Configurer le système d’exploitation.
* Documentation::            Visualiser les manuels d’utilisateur des logiciels.
* Installer les fichiers de débogage::  Nourrir le débogueur.
* Mises à jour de sécurité::  Déployer des correctifs de sécurité rapidement.
* Bootstrapping::            GNU/Linux depuis zéro.
* Porter::                   Cibler une autre plateforme ou un autre noyau.
* Contribuer::               Nous avons besoin de votre aide !

* Remerciements::            Merci !
* La licence GNU Free Documentation::  La licence de ce manuel.
* Index des concepts::       Les concepts.
* Index de programmation::   Types de données, fonctions et variables.

 — Liste détaillée des nœuds —

Voilà, l’installation est terminée !

Vous pouvez confirmer que Guix fonctionne en installant un paquet d’exemple
dans le profil de root :

# guix install hello
(séquence d'installation)
# hello
Bonjour, le monde !
#

guix installera alors les paquets nécessaires aux dépendances.

root@n40l:~# guix install
guix install: avertissement : **Envisagez** d'exécuter « guix pull » suivi de
« guix package -u » pour obtenir des paquets à jour et des mises à jour de sécurité.

root@n40l:~# 

2.6 Réglages applicatifs

https://guix.gnu.org/manual/fr/html_node/Reglages-applicatifs.html#R_00e9glages-applicatifs

Lorsque vous utilisez Guix par dessus une distribution GNU/Linux qui n’est pas Guix System — ce qu’on appelle une distro externe — quelques étapes supplémentaires sont requises pour que tout soit en place.

Ces réglages ne sont pas à négliger !

Car à l’invocation de guix install hello
j’ai eu de nombreux setlocale: LC_ALL: cannot change locale (en_US.utf8)

Sous la forme :

substitute: /gnu/store/q19l04vd2za80mk1845pz7r8cz29qk43-bash-minimal-4.4.23/bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.utf8)

À https://linuxfr.org/news/gnu-guix-version-un-point-zero#comment-1773690
roptat mentionne :

C’est un bogue qui a déjà été rapporté ici :
http://lists.gnu.org/archive/html/help-guix/2019-06/msg00024.html

Mmmm ! Intéressant !

Tiens-nous au courant STP !

Mieux adapté, je crois que c’est une difficile réponse a donner. Scheme est un langage préfixé et c’est là où le paradigme de programmation est différent de ce que l’on programme normalement. C’est un language réelement utilisé dans le cadre de fonctions récursives. Le must en programmation !

Nous humain on s’adapte avec le temps lorsque l’on cela nous plaît d’utiliser tel ou telles choses.

Ne connaissant pas a fond APT ou même Pacman, je ne saurait dire s’il est plus puissant. Mais ce qui est certain c’est que j’ai aimé programmé en Scheme durant mes études.

@anon44391915 : tu as eu un problème pour avoir supprimer ton message ? ou une coquille ?

J’ai remonté l’info à la fin de mon message précédent Acksop.
Je n’avais pas prêté assez d’attention aux réglages applicatifs - notamment pour les locales.

Déjà l’guix est en utf-8 mais … Es-ce que la locale proviennait de LC_MESSAGE ?
Bizarre que ton LC_ALL soit en miniscule… et que cela change quelque chose… Devait te manquer quelques caractères …

https://guix.gnu.org/manual/fr/html_node/Reglages-applicatifs.html#R_00e9glages-applicatifs

Les paquets installés via Guix n’utiliseront pas les données de régionalisation du système hôte. À la place, vous devrez d’abord installer l’un des paquets linguistiques disponibles dans Guix puis définir la variable d’environnement GUIX_LOCPATH

Remarquez que le paquet glibc-locales contient les données pour tous les environnement linguistiques supportés par la GNU libc et pèse environ 110 Mo. Autrement, les glibc-utf8-locales est plus petit mais limité à quelques environnements UTF-8.

https://lists.gnu.org/archive/html/help-guix/2019-06/msg00024.html

From: Jack Hill
Subject: Re: warning: setlocale: LC_ALL: cannot change locale on foreign distro
Date: Mon, 3 Jun 2019 14:01:50 -0400 (EDT)

The default locale in the provided systemd unit, en_US.utf8, is not provided by the glibc-locales package but rather only by the glibc-utf8-locales package.

I think the fix for this would be to clarify which package should be installed in root’s profile when installing on a systemd foreign distro.

En français :

La locale par défaut dans l’unité systemd fournie, en_US.utf8, n’est pas fournie par le paquet glibc-locales mais seulement par le paquet glibc-utf8-locales.

Je pense que la solution serait de clarifier quel paquet doit être installé dans le profil de root lors de l’installation sur une distribution étrangère systemd.

J’ai installé glibc-utf8-locales et glibc-locales
et redémarré l’unité systemd guix-daemon.service.

Je n’ai plus le message d’avertissement à propos de la locale en_US.utf8

Je ne comprends pas bien ce que tu veux dire par « préfixé » ?

J’ai lu l’emploi de « fonctionnel » dans son sens mathématique, pour parler de Guile.
Et ça m’a plu - même si je n’aime vraiment pas les maths - comme je les connais peu et mal en fait.

Faut-il être bon en mathématiques pour prétendre écrire dans ce langage ?

J’aurais probablement aimé également…
J’ai fantasmé sur Prolog sans pouvoir insister et réussir quelque chose de bien.

@Acksop, saurais-tu rechercher quelques bonnes références pour grands débutants en Guile ?
Un tel apport ici pourrait en aider plus d’un ! :slight_smile:

Un Guile pour les nuls de qualité m’aiderait à poursuivre.
Mais il est possible que ce ne soit pas à ma portée…


notes :

  • Guix fournit une distribution du système GNU contenant uniquement des logiciels libres 3.
    On peut installer la distribution elle-même (voir Installation du système), mais on peut aussi installer Guix comme gestionnaire de paquets par dessus un système GNU/Linux déjà installé (voir Installation).
    Pour distinguer ces deux cas,
    on appelle la distribution autonome le « système Guix » ou Guix System.

  • La particularité de cette distribution est qu’elle utilise pour ses fichiers de configuration un langage de programmation fonctionnelle nommé Guile qui est une implémentation libre de Scheme, un dérivé de Lisp.

(À propos de Scheme)

C’est bien ce que je pensais aussi !

Habitué au C/C++, j’ai tendance à trouver qu’il est assez bien adapté pour tous types de programmes, mais comme Scheme est vraiment spécialisé dans les manipulations de listes, je me demandais si c’était un avantage dans ce cas précis.

Mais comme tu dis : un programmeur Scheme fera comme moi : il aura tendance à faire un peu tout avec Scheme, y compris où d’autres langages auraient un léger avantage.

1 J'aime

Qu’est-ce qui te fait penser ça ?

Au passage, il y a une discussion « Intéressé mais »
qui replace le contexte Guix versus Nix / NixOS et pondère bien.

Avec une certaine approximation,
/gnu/store/ est à Guix ce que /var/cache/apt/archives/ est à Debian.

Je pense que ce n’est pas plus mal que gnu/store/ ne soit pas sous /var/cache/
L’installation de Guix en gestionnaire de paquet peut se faire sur d’autres distros GNU/Linux.

/gnu/store/ n’est pas à créer à la main, c’est l’installation qui s’en charge.
Il ne faut absolument rien faire manuellement dans /gnu/store/

Pour chaque utilisateur, un lien symbolique vers le profil par défaut de cet utilisateur est automatiquement créé dans $HOME/.guix-profile.
Ce lien symbolique pointe toujours vers la génération actuelle du profil par défaut de l’utilisateur.
Ainsi, les utilisateurs peuvent ajouter $HOME/.guix-profile/bin à leur variable d’environnement PATH etc (ndr: etc ?)
Si vous n’utilisez pas la distribution système Guix, vous devriez ajouter les lignes suivantes à votre ~/.bash_profile
(voir Bash Startup Files dans The GNU Bash Reference Manual) pour que les shells créés ensuite aient tous les bonnes définitions des variables d’environnement.

GUIX_PROFILE="$HOME/.guix-profile" ; \
source "$HOME/.guix-profile/etc/profile"

Moi non plus :wink:

Le peu que j’en ai lu, je programme là, encore et toujours, j’ai du travail en retard…

Je ne savais pas où ca se trouve et je suis bien de votre avis… /var/cache ne me plait guère mais je ferais avec …

Merci, j’aimerais l’installer mais je ne connait pas encore assez bien le système d’apt pour le faire. pour moi ce n’est qu’encore un gestionnaire de paquet comme un autre même si j’admire le langage Scheme. je suis triste de savoir que je ne pourrais malheureusement pas l’utiliser tout de suite …

Je reponds a ton avant précedent message, je n’ai pas pu suivre ce fil correctement…

Voici un exemple:

si(egal(1,/(*(-(+(25,56),32),11),539)),do_something(),false);
Ici cela vaut VRAI.

Prolog je ne m’en souviens plus, mais il me semble que j’en ai fait et qu’il n’était pas préfixé, prolog est un langage de validation. C’est important de faire la différence.

Le but était de créer un langage de programmation où seraient définies les règles logiques attendues d’une solution et de laisser le compilateur la transformer en séquence d’instructions.
Source: Wikipedia : https://fr.wikipedia.org/wiki/Prolog

? Guile n’est pas un personnage de StreetFighter ? Es-ce de cela que tu parles : https://fr.wikipedia.org/wiki/GNU_Guile ?

Je m’en sors, pour comprendre, avec :

(((25+56-32)*11)/539) = 1 et si(egal(1,1),do_something(),false)
Donc do_something() serait appelé.

Les opérateurs sont préfixes des opérandes dans ton exemple.

Merci.

Selon https://fr.wikipedia.org/wiki/GNU_Guile, Guile est bien davantage que ce que j’avais noté :

Guix installé en gestionnaire de paquets ne fait pas appel - il me semble pour le moment - à la moindre programmation pour root ni pour l’utilisateur ordinaire.

Je m’intéresse d’abord à guix en ligne de commande.
J’ai découvert le concept de « générations » de transactions.
Seul, je ne perçois que peu l’intérêt des profils utilisateurs mais il est réel.

Il me reste à découvrir certains concepts et c’est plutôt ardu, même en langue française.

On peut se demander à juste titre pourquoi installer Guix en gestionnaire de paquets.
Car les paquets disponibles le sont aussi sur Debian ou une autre distribution GNU/Linux.

Je renvoie à :
https://guix.gnu.org/manual/fr/html_node/De-la-confiance-en-des-binaires.html#De-la-confiance-en-des-binaires

et aussi à https://guix.gnu.org/manual/fr/html_node/Remerciements.html#Remerciements

et pour finir à https://guix.gnu.org/blog/

Je ne pense pas pouvoir installer un système Guix prochainement.
Mes besoins ne le nécessite pas et c’est vraisemblablement un OS de niche pour des experts.

J’estime mon essai d’amateur terminé pour le moment.
À mon avis, le sujet manque de contributeurs.

bah j’essayerais bien sur une Wm, mais j’ai tant de choses à faire…
Par contre le lien pour l’iso est a un format que je ne connaît absolument pas : https://ftp.gnu.org/gnu/guix/guix-system-install-1.0.1.x86_64-linux.iso.xz

Selon la doc:

Copie sur une clef USB
Pour copier l’image sur une clef USB, suivez ces étapes :

  1. Décompressez l’image avec la commande xz :
    xz -d guix-system-install-1.0.1.système.iso.xz

? :slight_smile: Allez je me lance, j’installe une WM !

Des erreurs hélas, et là je suis bloqué: Voici les images de ma VM:
Capture%20du%202020-02-01%2014-56-xx
En mode console je ne gère pas .

Alors là c’est certain !
Voilà un exemple provenant de la doc :

(use-modules (guix utils) (guix store) (guix derivations))
On voit bien que les parenthèses font tout le travail. Le plus difficile selon moi en Scheme est de savoir de qui est la fonction et de qui est la variable.

Ceci n’est pas juste selon moi. Je dirait plutôt: il n’y a pas d’opérandes, et celles-ci sont considérées comme fonctions préfixées, si tu veut des opérande avec ce type de langage va voir du coté de prolog, certaines notations comme :- sont difficiles à comprendre si elles ne sont pas expliquées de vive voix. Car elles font appel des termes mathématiques très pointus.

Excellent ! :wink:

Bonjour,

https://guix.gnu.org/manual/fr/html_node/Installer-Guix-dans-une-VM.html#Installer-Guix-dans-une-VM

Semble indiquer qu’il faille utiliser QEMU avec une image Qcow2.


note Gentoo :

Je dois recompiler le noyau avant de pouvoir essayer le système Guix en VM QEMU

* Found sources for kernel version:
 *     4.19.27-gentoo-r1
 * Checking for suitable kernel configuration options...
 *   You must enable KVM in your kernel to continue
 *   You will need the Universal TUN/TAP driver compiled into your kernel or loaded as a module to use the virtual network device if using -net tap.
 *   You must enable VHOST_NET to have vhost-net support
 *   If you have an Intel CPU, you must enable KVM_INTEL in your kernel configuration.
 * Please check to make sure these options are set correctly.
 * Failure to do so may cause unexpected problems.

J’ai lu cette page de manuel. Pas d’accord ça doit marcher avec VirtualBox ou WmWare. Faudra que je trouve la bonne config. Doit y avoir un problème de configuration du BIOS sur la VM.

Je n’avais pour ainsi dire jamais utilisé QEMU ; l’installation avec se fait plutôt bien.
L’installateur est rudimentaire mais suffisant.

J’aurais bien aimé pouvoir “sortir” le /etc/config.scm de QEMU pour pouvoir l’observer plus facilement mais j’ai un souci de copier-coller entre l’invité et l’hôte qui semble difficile à résoudre.

J’ai également ce souci de presse-papier avec une VM « Guix system » sous VirtualBox.
Je vais devoir aller sur le canal IRC #guix pour me renseigner.

J’ai réussi à faire, avec QEMU et VirtualBox :

# uname -r
5.1.2-gnu
# guix pull
# guix system reconfigure /etc/config.scm
# guix upgrade
# reboot
...
# uname -r
5.4.17-gnu
#

Je n’arrivais plus à me connecter à ma session Xfce après le redémarrage.

J’ai finalement trouvé que je devais indiquer Xfce explicitement - avec la roue dentée - lors de l’authentification GDM : pull + reconfigure + upgrade ayant installé “du Gnome” :thinking:

Après cette mise à jour, je voyais bien un processus sshd tourner mais je n’étais pas encore capable de me connecter depuis l’interface eth0 en 192.168.1.3/24 de l’hôte au « Guix system » invité en VirtualBox et ayant une interface enp0s3 en 10.0.2.15/24

J’ai commencé à jouer avec les parenthèses du langage Scheme :-))
J’ai adapté le /etc/config.scm pour avoir un accès ssh root.
Il n’y a rien d’ouvert par défaut ; Le service sshd est là mais sans pouvoir ouvrir une session.

2020-02-07T23:00:00Z
Il n’y a pas besoin d’adapter la configuration pour que l’utilisateur régulier dispose d’un accès ssh du moment que le service ait été coché à l’installation ; j’ai été induit en erreur par le manque sur l’hôte de l’interface vboxnet0 (ci-dessous). De plus, l’utilisateur régulier fait partie du groupe wheel.

Modifier le /etc/config.scm implique de faire ensuite :
guix system reconfigure /etc/config.scm
Puis reboot

Je n’avais pas vu au départ que l’interface vboxnet0 était inexistante sur l’hôte !
Je pouvais toujours chercher à me connecter…

https://wiki.gentoo.org/wiki/VirtualBox#Nonexistent_host_networking_interface.2C_named_.27vboxnet0.27
https://wiki.gentoo.org/wiki/VirtualBox#Enable_port_forwarding_to_guest_machines
-

Ces deux liens qui suivent sont indicatifs et ne reflètent pas ma configuration actuelle.

Lien vers :
'$HOME/.VirtualBox/Machines/Guix system/Guix system.vbox' (XML)
Lien vers /etc/config.scm


http://julien1001.unblog.fr/2019/03/20/decouverte-de-gnu-guixsd/

Mise à jour du système

Afin de mettre de mettre à jour le système et les logiciels qui y sont installés, il est nécessaire de mettre à jour GNU Guix lui-même ainsi que la définition des paquets.
Cela se fait par la commande suivante : guix pull

Ici, j’ai pu noter deux écueils :

même si je sais que les développeurs ont travaillé sur ce point lors des derniers mois,
cette opération peut être assez longue (plusieurs minutes) ;
cette opération doit être effectuée pour chaque utilisateur du système.

Une fois cette opération terminée, une re-configuration du système peut être effectuée (guix systeme reconfigure) ou tous les paquets installés peuvent être mis à jour (guix package -u).

Ainsi, pour mettre à jour un système (somme toute classique de nos jours) utilisé par un seul utilisateur, il faut lancer 5 commandes :

en tant qu’administrateur (root) :

  1. guix pull
  2. guix system reconfigure /etc/config.scm
  3. guix package -u

en tant qu’utilisateur régulier :

  1. guix pull
  2. guix package -u

C’est un peu lourd (chacune de ces opérations pouvant prendre un certain temps).
Néanmoins, c’est, d’une certaine manière, le prix à payer pour tous les avantages apportés par
GNU Guix (transaction, gestion de paquets par utilisateur…).

https://www.reddit.com/r/GUIX/comments/dpcmar/gnu_guix_on_virtualbox/

Vbox guest additions are proprietary software, Guix works with deblobbed kernel linux-libre, so you cannot use guest additions with this kernel.

Le bug report que j’ai laissé a GUIX : https://debbugs.gnu.org/cgi/bugreport.cgi?bug=39544

Pour l’instant je suis au point mort concernant cette distrib’ …