Excuse moi si je me trompe mais ce process d'archivage n'a rien à voir avec le langage Nix utilisé pour du packaging.
C'est effectivement ultra critique mais c'est touché (et revue) par très peu de personnes, à la diff d'un fichier Nix qui va décrire l'empaquetage (en somme, tout ce qui est dans https://github.com/NixOS/nixpkgs/tree/master/pkgs) d'un logiciel en particulier.
donc des Nix expressions qui génèrent des fichiers qui sont ensuite parsés par du Python et le tout recollé avec du Shell.
Le python/shell (voir même peut-être la partie Nix) pourrait très bien être remplacé par du OOCaml, du Rust ou autre langage un peu plus rigoureux et l'affaire serait close.
Justement, Nix ne fait pas le parsing car il ne sait pas faire et comme déjà dit : tant mieux, car c'est un DSL (même si cette notion est vague).
[^] # Re: Similaire à NixOS
Posté par mothsART . En réponse à la dépêche GNU Guix 1.2.0 est publié. Évalué à 2.
Excuse moi si je me trompe mais ce process d'archivage n'a rien à voir avec le langage Nix utilisé pour du packaging.
C'est effectivement ultra critique mais c'est touché (et revue) par très peu de personnes, à la diff d'un fichier Nix qui va décrire l'empaquetage (en somme, tout ce qui est dans https://github.com/NixOS/nixpkgs/tree/master/pkgs) d'un logiciel en particulier.
Le python/shell (voir même peut-être la partie Nix) pourrait très bien être remplacé par du OOCaml, du Rust ou autre langage un peu plus rigoureux et l'affaire serait close.
Justement, Nix ne fait pas le parsing car il ne sait pas faire et comme déjà dit : tant mieux, car c'est un DSL (même si cette notion est vague).
Que la partie core du projet soit un mélange de C, Rust, Python et de Bash ne me pose pas de soucis outre mesure du moment que pour l'empaqueteur final n'a qu'à gérer un fichier nix réduit à peau de chagrin.(du genre https://github.com/NixOS/nixpkgs/blob/13a3e5023192b62d6c5662c37549d8bb9e5e6a28/pkgs/applications/editors/geany/default.nix)
Alors, tout n'est pas parfait, j'en conçoit. Ce genre de choses devraient être évité/remplacé dans la mesure du possible : https://github.com/NixOS/nixpkgs/blob/e66ba6bd4619068541dd0446e2c69f2a7cba08a2/pkgs/applications/graphics/ImageMagick/default.nix#L83
mais ça reste suffisamment cloisonné pour rester "acceptable".