Nix (package manager)/fr: Difference between revisions

Nanucq (talk | contribs)
Created page with "Le sandboxing est activé par défaut sous Linux, et désactivé par défaut sous macOS. Dans les pull requests pour Nixpkgs, il est demandé aux contributeurs de tester les builds avec le sandboxing activé (voir <code>Testé avec le sandboxing</code> dans le modèle de pull request) car dans les builds officiels d'Hydra, le sandboxing est également utilisé."
Tags: Mobile edit Mobile web edit
Ardenet (talk | contribs)
Created page with "Sous NixOS, Nix peut être configuré à l'aide de l'option [$1 <code>nix</code>]."
 
(20 intermediate revisions by 4 users not shown)
Line 1: Line 1:
<languages/>
<languages/>
{{Navbox Nix}}
{{Navbox Nix}}
{{Disambiguation|message=Cet article traite du gestionnaire de paquets Nix. À ne pas confondre avec l'[[écosystème Nix]], le [[langage Nix]] ou la [[commande Nix]].}}
{{Disambiguation|message=Cet article traite du gestionnaire de paquets Nix. À ne pas confondre avec l'[[Nix ecosystem|écosystème Nix]], le [[Nix (language)|langage Nix]] ou la [[Nix (command)|commande Nix]].}}
Nix est un gestionnaire de paquets et un système de compilation qui analyse des instructions de compilation reproductibles spécifiées dans le [[langage d'expression Nix]], un langage fonctionnel pur avec évaluation paresseuse. Les expressions Nix sont des fonctions pures<ref>Les valeurs ne peuvent pas changer pendant le calcul. Les fonctions produisent toujours le même résultat si leur entrée ne change pas. </ref>qui prennent des dépendances en arguments et produisent une « [[Derivations|dérivation]] » spécifiant un environnement de compilation reproductible pour le paquet. Nix stocke les résultats de la compilation à des adresses uniques spécifiées par un hachage de l'arborescence complète des dépendances, créant ainsi un magasin de paquets immuable (également appelé [[#Nix store|nix store]]) qui permet des mises à jour atomiques, des retours en arrière et l'installation simultanée de différentes versions d'un paquet, éliminant ainsi pratiquement [https://en.wikipedia.org/wiki/Dependency_hell l'enfer des dépendances].  
 
Nix est un gestionnaire de paquets et un système de compilation qui analyse des instructions de compilation reproductibles spécifiées dans le [[Nix (language)|langage d'expression Nix]], un langage fonctionnel pur avec évaluation paresseuse. Les expressions Nix sont des fonctions pures<ref>Les valeurs ne peuvent pas changer pendant le calcul. Les fonctions produisent toujours le même résultat si leur entrée ne change pas.</ref> qui prennent des dépendances en arguments et produisent une « [[Derivations|dérivation]] » spécifiant un environnement de compilation reproductible pour le paquet. Nix stocke les résultats de la compilation à des adresses uniques spécifiées par un hachage de l'arborescence complète des dépendances, créant ainsi un magasin de paquets immuable (également appelé [[#Nix store|nix store]]) qui permet des mises à jour atomiques, des retours en arrière et l'installation simultanée de différentes versions d'un paquet, éliminant ainsi pratiquement [[Wikipedia:Dependency hell|l'enfer des dépendances]].


<span id="Usage"></span>
<span id="Usage"></span>
Line 8: Line 9:


=== Installation ===
=== Installation ===
Sous [[NixOS]], Nix est installé automatiquement.


Sur d'autres distributions Linux ou sur macOS, vous pouvez installer Nix en suivant la [https://nixos.org/manual/nix/stable/installation/installation section d'installation du manuel de Nix].
Sous [[NixOS|NixOS]], Nix est installé automatiquement.
 
Sur d'autres distributions Linux ou sur macOS, vous pouvez installer Nix en suivant la [https://nix.dev/manual/nix/stable/installation/ section d'installation du manuel de Nix].


<span id="Nix_commands"></span>
<span id="Nix_commands"></span>
=== Commandes Nix ===
=== Commandes Nix ===


Les [[Nix (command line utilities)|commandes Nix]] sont décrites dans le [https://nixos.org/manual/nix/stable/command-ref/command-ref manuel de référence de Nix] : commandes principales, utilitaires et commandes expérimentales. Avant la version 2.0 (publiée en février 2018), les commandes étaient différentes.
Les [[Nix (command line utilities)|commandes Nix]] sont décrites dans le [https://nix.dev/manual/nix/stable/command-ref/ manuel de référence de Nix] : commandes principales, utilitaires et commandes expérimentales. Avant la version 2.0 (publiée en février 2018), les commandes étaient différentes.


=== Configuration ===
=== Configuration ===
Sous NixOS, Nix peut être configuré à l'aide de l'option [https://search.nixos.org/options?query=nix. <code>nix</code>].


Nix en mode autonome se configure via le fichier <code>nix.conf</code> (qui se trouve généralement dans <code>/etc/nix/</code>). Vous trouverez plus de détails sur les options disponibles [https://nixos.org/manual/nix/stable/command-ref/conf-file dans le manuel de référence de Nix].  
Sous NixOS, Nix peut être configuré à l'aide de l'option [https://search.nixos.org/options?query=nix <code>nix</code>].
 
Nix en mode autonome se configure via le fichier <code>nix.conf</code> (qui se trouve généralement dans <code>/etc/nix/</code>). Vous trouverez plus de détails sur les options disponibles [https://nix.dev/manual/nix/stable/command-ref/conf-file dans le manuel de référence de Nix].  


Vous pouvez également configurer Nix à l'aide de [[Home Manager]], qui gère les environnements déclaratifs pour un seul utilisateur. Pour une configuration à l'échelle du système, vous pouvez utiliser [https://github.com/numtide/system-manager System Manager] sous Linux et [https://github.com/LnL7/nix-darwin nix-darwin] sous macOS.
Vous pouvez également configurer Nix à l'aide de [[Home Manager|Home Manager]], qui gère les environnements déclaratifs pour un seul utilisateur. Pour une configuration à l'échelle du système, vous pouvez utiliser [https://github.com/numtide/system-manager System Manager] sous Linux et [https://github.com/nix-darwin/nix-darwin nix-darwin] sous macOS.


<span id="Internals"></span>
<span id="Internals"></span>
Line 58: Line 61:


Le sandboxing est activé par défaut sous Linux, et désactivé par défaut sous macOS.
Le sandboxing est activé par défaut sous Linux, et désactivé par défaut sous macOS.
Dans les pull requests pour Nixpkgs, il est demandé aux contributeurs de tester les builds avec le sandboxing activé (voir <code>Testé avec le sandboxing</code> dans le modèle de pull request) car dans les builds officiels d'Hydra, le sandboxing est également utilisé.
Dans les pull requests pour [https://github.com/NixOS/nixpkgs/ Nixpkgs], il est demandé aux contributeurs de tester les builds avec le sandboxing activé (voir <code>Testé avec le sandboxing</code> dans le modèle de pull request) car dans [https://nixos.org/hydra/ les builds officiels d'Hydra], le sandboxing est également utilisé.


<div lang="en" dir="ltr" class="mw-content-ltr">
Pour configurer Nix pour le sandboxing, définissez <code>sandbox = true</code> dans <code>/etc/nix/nix.conf</code> ; pour configurer NixOS pour le sandboxing, définissez <code>nix.useSandbox = true;</code> dans <code>configuration.nix</code>. L'option <code>nix.useSandbox</code> est définie sur <code>true</code> par défaut depuis NixOS 17.09.
To configure Nix for sandboxing, set <code>sandbox = true</code> in <code>/etc/nix/nix.conf</code>; to configure NixOS for sandboxing set <code>nix.useSandbox = true;</code> in <code>configuration.nix</code>. The <code>nix.useSandbox</code> option is <code>true</code> by default since NixOS 17.09.
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
<span id="Alternative_Interpreters"></span>
=== Alternative Interpreters ===
=== Interpréteurs Alternatifs ===
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
Un projet est actuellement en cours pour réécrire Nix de A à Z en Rust.
There is an ongoing effort to reimplement Nix, from the ground up, in Rust.
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
* [https://code.tvl.fyi/tree/tvix tvix]
* [https://cs.tvl.fyi/depot/-/tree/tvix tvix]
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
Il existe également une version dérivée de Nix 2.18 développée par la communauté, baptisée Lix, qui met l'accent sur la fiabilité, la facilité d'utilisation et la croissance. Bien qu'elle ait également porté certains composants de Nix vers Rust, il ne s'agit pas d'une réécriture complète comme Tvix.
There is also a community-led fork of Nix 2.18 named Lix, focused on correctness, usability, and growth. While it has also ported some components of Nix to Rust, it is not a ground-up rewrite like Tvix.
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
* [https://lix.systems/ lix]
* [https://lix.systems/ lix]
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
Des essais préliminaires peuvent être trouvés sur [https://riir-nix.github.io/ riir-nix]
Earlier attempts can be found on [https://riir-nix.github.io/ riir-nix]
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
<span id="Notes"></span>
<div class="mw-translate-fuzzy">
==Notes==
==Notes==
<references />
<références />
</div>
</div>


<references />


<div lang="en" dir="ltr" class="mw-content-ltr">
[[Category:Pedias]]
[[Category:Pedias]]
[[Category:Nix]]
[[Category:Nix]]
[[Category:Incomplete]]
[[Category:Incomplete]]
[[Category:Software]]
[[Category:Software]]
</div>