Guix pour remplacer mon gestionnaire de paquets APT

31
21
mar.
2020
Distribution

Deuxième article d’une série autour de Guix, après une brève introduction générale, voici un article plus programmatique sur le remplacement (ou la cohabitation) de l’outil apt par guix. Je précise qu’il s’agit de dépêches dont l’objectif est de vulgariser les notions phares de Guix et de les illustrer par des cas pratiques.

Journal Guix : un outil pour les remplacer tous

42
18
jan.
2020
Ce journal a été promu en dépêche : Guix : un outil pour les remplacer tous.

Introduction

Je suis tombé très récemment sur une dépêche LinuxFR annonçant la sortie de la version 1.0 du gestionnaire de paquet Gnu Guix et dans la foulée de la distribution GuixSD et j'ai littéralement pris une claque !

Comme me l'a fait remarquer quelqu'un dans les commentaires, le projet n'est pas tout jeune (7 ans de mémoire), mais c'est passé à travers les mailles de mon filet de veille techno tout ce temps.

Je compte bien rattraper le retard (…)

Guix : un outil pour les remplacer tous

Posté par  . Édité par palm123, Benoît Sibaud et Davy Defaud. Modéré par Ysabeau 🧶 🧦. Licence CC By‑SA.
42
19
jan.
2020
Distribution

« GNU Guix est un gestionnaire de paquets pour GNU. Il est inspiré par le gestionnaire de paquets Nix, son principal apport est l’Interface de programmation GNU Guile et sa spécialisation dans la fourniture de logiciels libres. Au mardi 31 décembre 2019, GNU Guix permet d’installer 11 174 logiciels. » (Wikipédia)

Dans le journal dont est tirée cette dépêche, Andréas Livet nous raconte sa découverte de Guix.

Gestion de paquets et DevOps avec Nix, tour d’horizon sur un cas concret

27
24
jan.
2020
Administration système

Nix et GNU Guix sont des gestionnaires de paquets « fonctionnels », au sens de la programmation fonctionnelle. Cette approche de la gestion de paquets est très différente de l’approche habituellement utilisée par les systèmes GNU/Linux ou BSD, à base de collections de ports ou de dépôts de paquets.

Cette approche fonctionnelle apporte de nombreux avantages. Non seulement, elle permet de fournir une gestion de paquets fiable, reproductible, multi‑version et multi‑utilisateur, mais elle apporte également de nombreuses fonctionnalités supplémentaires : gestion d’un environnement de développement, empaquetage décentralisé, construction d’images Docker ou de machines virtuelles, personnalisation de tout l’environnement logiciel, etc.

Cet article part d’un projet de code (un serveur Web) et illustre progressivement différentes fonctionnalités de Nix intéressantes pour le développeur, l’empaqueteur et l’administrateur système. Les exemples sont présentés ici sous NixOS (la distribution GNU/Linux basée sur Nix), mais devraient être utilisables également avec l’outil Nix installé sur une distribution GNU/Linux classique, ou avec GNU Guix.

Journal Gestion de paquets et DevOps avec Nix, tour d'horizon sur un cas concret

Posté par  (site web personnel) . Licence CC By‑SA.
26
23
jan.
2020

Nix et GNU Guix sont des gestionnaires de paquets "fonctionnels", au sens de la programmation fonctionnelle. Cette approche de la gestion de paquets est très différente de l'approche habituellement utilisée par les sytèmes Linux ou BSD, à base de collections de ports ou de dépôts de paquets.

Cette approche fonctionnelle apporte de nombreux avantages. Non seulement elle permet de fournir une gestion de paquet fiable, reproductible, multi-version et multi-utilisateur, mais apporte également de nombreuses fonctionnalités supplémentaires : gestion d'un environnement (…)

Journal Navigateur Next 1.3.1: améliorations du minibuffer, du support pour de multiples plateformes, etc

Posté par  . Licence CC By‑SA.
23
4
sept.
2019

Hier est sorti une version mineure 1.3.1 pour le navigateur Next.

Pour rappel, Next est un navigateur web basé sur Webkit et PyQtWebengine (aka Blink) avec le cœur des fonctionnalités à part (en Common Lisp). Il est hackable à chaud et programmable: son cœur est ouvert.

Le projet commence à décoller, le navigateur a les fonctionnalités attendues (adblock, noscript, support des proxys,…), commence à avoir des fonctionnalités uniques ("fuzzy matching" partout, historique en arbre, aller à une section,…), bref (…)

Next v1.3.0, le navigateur web entièrement programmable

67
6
août
2019
Internet

Je suis heureux de vous présenter le navigateur Next, projet que j’ai rejoint il y a deux mois, et dont la version 1.3.0 livre son lot de fonctionnalités attendues pour un usage quotidien :

  • blocage de publicités (par domaine) ;
  • sélection approchée / fuzzy améliorée ;
  • raccourcis claviers à la Vim ;
  • un gestionnaire de téléchargements ;
  • un mode NoScript ;
  • un « back‐end » basé sur Blink, le moteur de rendu de Chrome (qui s’ajoute au back‐end WebKit) ;
  • prise en charge des serveurs mandataires (proxies), donc de Tor ;
  • et plus encore.

Oui, le tester donne envie de ne plus s’en séparer. :)

Next est unique car il n’expose pas d’API, il est totalement ouvert et programmable, et qui plus est programmable à chaud, il n’y a pas besoin de le redémarrer pour tester ses changements. Et au contraire des projets similaires (Konqueror ou Vimperator qui sont morts, Qutebrowser…), il n’est pas lié à un moteur de rendu particulier.

Je vous propose de le découvrir, et de nous soutenir pour voir une version 1.4 !

Agenda du Libre pour la semaine 25 de l’année 2019

Posté par  . Édité par Benoît Sibaud et Davy Defaud. Modéré par patrick_g. Licence CC By‑SA.
8
15
juin
2019
Communauté

Calendrier Web, regroupant des événements liés au Libre (logiciel, salon, atelier, install party, conférence), annoncés par leurs organisateurs. Voici un récapitulatif de la semaine à venir. Le détail de chacun de ces 53 événements (France : 50, Québec : 2, Belgique : 1) est en seconde partie de dépêche.

Meilleures contributions LinuxFr.org : les primées de mai 2019

Posté par  (site web personnel, Mastodon) . Édité par Davy Defaud et Ysabeau 🧶 🧦. Modéré par ZeroHeure.
Étiquettes :
15
12
juin
2019
LinuxFr.org

Nous continuons sur notre lancée de récompenser ceux qui chaque mois contribuent au site LinuxFr.org (dépêches, commentaires, logo, journaux, correctifs, etc.). Vous n’êtes pas sans risquer de gagner un livre des éditions Eyrolles ou ENI. Voici les gagnants du mois de mai 2019 :

Les livres sélectionnés sont en seconde partie de la dépêche. N’oubliez pas de contribuer, LinuxFr.org vit pour vous et par vous !

GNU Guix version Un‐Point‐Zéro

48
9
mai
2019
Distribution

Nous sommes très heureux d’annoncer la publication de GNU Guix version 1.0.0 !

GNU Guix est un gestionnaire de paquets transactionnel et une distribution GNU perfectionnée qui respecte la liberté des utilisateurs. Guix peut être utilisé avec n’importe quelle distribution utilisant le noyau Linux, tout comme il peut être utilisé comme système d’exploitation à part entière pour des machines ayant une architecture i686, x86-64, ARMv7 ou AArch64.

En plus des fonctionnalités habituelles pour gérer des paquets, Guix permet des mises à jours et retours en arrière transactionnels, une gestion des paquets qui ne nécessite pas de droits privilégiés, des profils pour chaque utilisateur et une gestion automatique de la mémoire.

Lorsque Guix est utilisé comme une distribution GNU/Linux autonome, il permet la gestion de la configuration du système d’exploitation par une approche déclarative et sans état. Guix est extrêmement personnalisable et bidouillable via Guile qui est une implémentation du langage Scheme avec quelques extensions.

La publication fournit des images d’installation ISO 9660, une image pour machine virtuelle et des archives tar.xz pour installer le gestionnaire de paquets sur votre distribution GNU/Linux à partir des sources ou des binaires. Les utilisateurs de Guix peuvent mettre à jour en lançant guix pull.

La suite de la dépêche est une traduction de l’annonce officielle. Cette traduction n’a pas été faite par l’équipe de Guix, le « nous » utilisé dans la dépêche renvoie à l’équipe Guix, pas aux traducteurs.

Journal upt: l'outil parfait pour empaqueter TapTempo

Posté par  . Licence CC By‑SA.
35
13
mar.
2018

Bonjour tout le monde,

Je vais faire (éhontément) un peu de pub pour mon dernier projet, upt : the Universal Packaging Tool, ou encore "l'outil d'empaquetage universel", comme on dit en France, de Bretagne en Provence.

Obtenir TapTempo depuis une archive de paquets spécifique à un langage

La communauté récemment formée autour de TapTempo a la possibilité d'utiliser diverses implémentations du logiciel, écrites dans de nombreux langages différents. Toutes ces versions de TapTempo seront sans doute bientôt disponibles sur des (…)

Nix pour les développeurs

Posté par  (site web personnel) . Édité par claudex, Benoît Sibaud, bubar🦥, Davy Defaud, ZeroHeure et palm123. Modéré par claudex. Licence CC By‑SA.
Étiquettes :
53
6
juil.
2017
Technologie

Nix est un gestionnaire de paquets « fonctionnel » (basé sur des fonctions, sans effet de bord). Cette caractéristique apporte des avantages indéniables, notamment de pouvoir mettre en place des environnements logiciels isolés, reproductibles et composables. Ceci peut être très utile à un administrateur système mais également à un développeur.

On trouve pas mal d’informations sur l’écosystème Nix et son utilisation, ainsi que des retours d’expérience des utilisateurs. En revanche, les documents à destination des développeurs sont moins nombreux et se limitent souvent à l’utilisation ou à la mise en place d’environnements de développement simples.

Cet article a pour objectif d’illustrer l’intérêt de Nix pour un développeur dans des cas simples et « un peu moins simples ». Pour cela, il se base sur un projet d’exemple en C++ et en Python, mais Nix peut également être utilisé pour d’autres langages. Je ne suis pas un expert en Nix, donc n’hésitez pas à proposer vos remarques ou améliorations dans les commentaires ou sur le dépôt GitHub du projet d’exemple.

Journal Créer une archive d'application conteneurisée avec guix pack

Posté par  . Licence CC By‑SA.
23
30
mai
2017

ou encore, en anglais, "creating standalone binary bundles with guix pack". Il s'agit d'une nouvelle fonctionnalité parue avec GNU GuixSD (la distro) 0.13.0, le 22 mai 2017. Le but est ici de taper une commande simple:

guix pack foo

pour obtenir une archive tarball qui contient les binaires du logiciel foo avec toutes ses dépendances. Il y aussi un raccourci pour donner le résultat à docker mais on va voir les différences d'approches et les bénéfices de guix.

Ce (…)

Journal Découvrons Common Lisp. Comparaison avec l'environnement Python.

Posté par  . Licence CC By‑SA.
30
1
fév.
2017

Salut journal,

Je suis de plus en plus frustré par le langage Python, et comme j'aime bien le Emacs Lisp, à la fois le langage et l'environnement de développement, j'ai retenté le coup avec Common Lisp. C'était assez frustrant mais j'ai pris quelques notes qui pourraient servir aux suivants, d'où ce journal (ça fait un paquet d'années qu'on n'a pas parlé de Common Lisp par ici, ni d'aucun Lisp d'ailleurs même ceux à succès comme Clojure (et à part Guix (…)