• [^] # Re: Ouïe fonctionnel...

    Posté par . En réponse à la dépêche Guix : un outil pour les remplacer tous. Évalué à 5.

    • La connaissance de Scheme n'est pas nécessaire dans un premier temps.
    • (La (connaissance (des (parenthèses)))) est nécessaire dans un deuxième temps.
    • Pour bricoler en expert, il faudra apprendre un peu de Scheme.

    La première chose est d'installer Guix sur ta distribution actuelle. Il n'y aura pas de conflit et cela permet de tester et comprendre un peu les concepts. Juste avec la gestion de paquets. (Avant d'aller plus loin avec les services, une autre histoire ;-))

    Il faut commencer par les profiles, le côté rolling release et pull en particulier les channels et describe, aussi les environments.

    Ensuite, il faut passer par les manifests pour déclarer ses profils. C'est là qu'il faut commencer à taper des parenthèses. Mais pas vraiment du Scheme. Juste un DSL avec des parenthèses.

    Ensuite, une étape passe par créer ses paquets. Un peu plus Scheme mais pas vraiment non plus. Il faut voir cela comme un DSL avec des parenthèses.

    Jusque là, tout se fait avec la CLI. Et cette CLI a une interface Emacs.

    https://emacs-guix.gitlab.io/website/

    On peut s'arrêter là, même pour une utilisation avancée dans la gestion des paquets.

    L'étape suivante serait de jouer avec guix repl qui lance un Read-Eval-Parse-Loop. Cela permet de manipuler les paquets avec du code, écrire des petites fonctions etc. Et c'est à cette étape là qu'il faut commencer à écrire du Scheme. Mais bon, la plupart des choses usuelles se font en ligne de commande ; comme pour les autres gestionnaires de paquets.

    A titre d'analogie, ce n'est pas parce que l'on ne sait pas écrire des scripts fu que l'on ne peut pas utiliser Gimp. Ou du Lisp et AutoCAD. Ben là, c'est un peu pareil. Guix vient avec le concept de hackabilité ; pour les experts en quelque sorte. Mais ce n'est pas nécessaire pour une utilisation quotidienne et même avancée.

    Pour le dire autrement, il ne faut pas connaître les subtilités du dossier debian/, ni le C++ pour utiliser Debian et faire apt install ou apt update. De la même manière, il ne faut pas connaître Scheme pour utiliser Guix.