Un ptit outil en développement rapide et très pratique que m'a recommandé un collègue il y a quelques mois, Metapac permet de gérer ce qui est installé sur ses ordinateurs de façon déclarative sur plusieurs gestionnaires de paquets différents, et ainsi conserver un environnement relativement propre. Depuis, je l'ai mis en place sur toutes mes machines.
Pour faire simple, vous listez les paquets qui doivent être installés par chaque gestionnaire de paquets, le tout séparé en "groupes" (un groupe = un fichier TOML listant des paquets) pour permettre de bien différencier le contexte d'utilisation. Ainsi, si vous travaillez pour un client et que vous avez besoin d'installer des logiciels spécifiques à cette mission, vous lui créez un fichier de groupe et vous demandez à Metapac d'installer les paquets manquants avec la commande metapac sync. Lorsque vous partez, vous n'avez plus qu'à supprimer le fichier, puis invoquer la commande metapac clean pour supprimer les logiciels devenus inutiles.
Vu que tout est déclaratif, vous pouvez par ailleurs incorporer la configuration de Metapac dans votre repos dotenv et, ainsi, la partager entre vos ordinateurs. Dans ce cas de figure, Metapac propose également de gérer les groupes actifs par ordinateur (chaque ordinateur étant identifié par son nom d'hôte, typiquement /etc/hostname sous Linux/Unix — ou via scutil sous macOS).
Note importante : Metapac est en développement rapide, pensez à bien lire les notes de mise à jour pour adapter votre configuration pour résoudre les possibles ruptures de compatibilité dans vos fichiers de config.