• # Nix?

    Posté par (site web personnel) . En réponse au journal Retour d'expérience sur l'empaquetage d'une bibliothèque native pour Python. Évalué à 6.

    En gros, soit ton utilisateur va utiliser les packets de sa distrib pour installer ton projet, et là tu fais confiance aux packageurs de la distribution (cela peut être toi).

    Soit tu demandes à ton utilisateur d'installer des choses lui même, et quitte à ce qu'il install quelque chose à la main, autant que ce soit nix https://nixos.org/nix/ (ou guix) qui ensuite fera marcher ton projet de la manière que tu as décidé, sans erreur possible.

    Mon avis c'est que dés que tu commences à essayer de hacker un truc qui marche un peu près partout, tu complexifies ton projet et au final tu va aussi complexifier l'installation un peu près partout. Fournir une description de paquet avec nix permet de fournir:

    • Quelque chose qui marche partout, les utilisateurs pouvant installer nix partout (modulo windows: dans le subsystem for linux. Ce qui peut être un problème)

    • Un readme d'installation complet et testé. Pour ceux qui choisirons de ne pas installer nix, le fichier de configuration de nix peut être vu comme un readme d'installation exhaustif, tu listes absolument toutes les dépendances avec leur version ainsi que les étapes du build, et à jour, puisque tu t'en sers tous les jours pour travailler. Fini les readmes incomplet et obsolètes.