Utilité de Nix flake

Hello, je viens de voir une fonctionnalité en béta : nix flake.
J’ai encore un peu de mal à comprendre qu’est-ce que ça apporte (qui n’existe pas déjà) ?

J’ai retenu qu’ils proposaient une version standardisé de la hierarchie de fichiers nix pour quand on veut faire un package.

Aujourd’hui on fait un peut ce qu’on veut. Avec un flake, on aura toujours le même point d’entrée.

Ok, en approfondissent un peu, je dirais que l’idée est d’avoir la possibilité de déployer des paquets totalement indépendant de nixpkgs et d’un channel en particulier.
Pour un utilisateur, il pourra ajouter un paquet d’un dépôt git si il a un fichier flake.nix en bon et due forme sans que celui-ci soit présent dans aucun channel.
Pour le dev, plus besoin d’utiliser des trucs spécifique à nixpkgs du style : import <nixpkgs>, fetchGit et fetchTarball.
C’est lui qui a la main également sur la version (fichier flake.lock)

Jusqu’à présent, pour avoir les mêmes possibilités, il fallait se créer un channel spécifique : l’idée de flake est donc d’éviter cet effort.

Je vois plein d’applications pratiques notamment pour les devops. (on remplace les dockerfile par des flake.nix)

Merci pour l’approfondissement.

Du coup je le mets sur ma liste des trucs à apprendre et incorporer.

@stphrolland : pas de prob pour l’approfondissement.
Mes sources de lecture :

https://github.com/NixOS/rfcs/pull/49

L’idée de mes tickets c’est justement l’échange et des pistes de réflexion/doc en français sur Nix car c’est juste inexistant. (ce qui est dommage vu la qualité technique)

Sinon, va pas trop vite car c’est encore dans une branche expérimental.

1 Like