• # nix-shell / shell.nix

    Posté par . En réponse à la dépêche Nix pour les développeurs. Évalué à 9.

    Peut-être ne manque-t-il pas un peu plus d'info sur les fichier shell.nix. Pour moi, à condition d'avoir bien compris le default.nix sert à "builder le rendu / binanire ... scripts ..." alors que le shell.nix sert à créer un environnement de dev temporaire (anciennement les profiles) qui ressemble plus au virtualenv de python.

    Exemple d'un petit shell.nix pour utiliser maven, docker-compose et ansible :

    with import <nixpkgs> {}; {
     env = stdenv.mkDerivation {
     name = "monprojet";
     buildInputs = [ docker_compose maven python27Packages.ansible ];
     };
    }
    

    Avec ce shell.nix, jai la certitude que le dev/sys... qui voudra utiliser le projet pourra le faire avec un simple "nix-shell". Ca donne le role d'un composer de php ou le npm de node mais pour le system.

    Autre exemple, un shebang & nix : https://gist.github.com/travisbhartwell/f972aab227306edfcfea

    Encore merci pour cette dépêche.