Nix (package manager)/fr: Difference between revisions

Nanucq (talk | contribs)
Created page with "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"
Tags: Mobile edit Mobile web edit
Nanucq (talk | contribs)
Created page with "Les paquets compilés par Nix sont placés dans le « Nix store » en lecture seule, qui se trouve généralement dans <code>/nix/store</code>. Chaque paquet se voit attribuer une adresse unique spécifiée par un hachage cryptographique suivi du nom et de la version du paquet, par exemple <code>/nix/store/nawl092prjblbhvv16kxxbk6j9gkgcqm-git-2.14.1</code>. Ces préfixes hachent toutes les entrées du processus de compilation, y compris les fichiers source, l'arborescenc..."
Tags: Mobile edit Mobile web edit
Line 22: Line 22:
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].  
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].  


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
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.


<span id="Internals"></span>
<span id="Internals"></span>
== En interne ==
== En interne ==


<div lang="en" dir="ltr" class="mw-content-ltr">
=== Nix store ===
=== Nix store ===
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
{{Split|reason=Le Nix store est suffisamment distinct sur le plan conceptuel pour mériter un article à part entière.}}
{{Split|reason=The nix store is conceptually separate enough that it warrants a separate article.}}
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
Les paquets compilés par Nix sont placés dans le « Nix store » en lecture seule, qui se trouve généralement dans <code>/nix/store</code>. Chaque paquet se voit attribuer une adresse unique spécifiée par un hachage cryptographique suivi du nom et de la version du paquet, par exemple <code>/nix/store/nawl092prjblbhvv16kxxbk6j9gkgcqm-git-2.14.1</code>. Ces préfixes hachent toutes les entrées du processus de compilation, y compris les fichiers source, l'arborescence complète des dépendances, les options du compilateur, etc. Cela permet à Nix d'installer simultanément différentes versions d'un même paquet, et même différentes compilations d'une même version, par exemple des variantes compilées avec des compilateurs différents. Lors de l'ajout, de la suppression ou de la mise à jour d'un paquet, rien n'est supprimé du store; à la place, des liens symboliques vers ces paquets sont ajoutés, supprimés ou modifiés dans les « profils ».
Packages built by Nix are placed in the read-only ''Nix store'', normally found in <code>/nix/store</code>. Each package is given a unique address specified by a cryptographic hash followed by the package name and version, for example <code>/nix/store/nawl092prjblbhvv16kxxbk6j9gkgcqm-git-2.14.1</code>. These prefixes hash all the inputs to the build process, including the source files, the full dependency tree, compiler flags, etc. This allows Nix to simultaneously install different versions of the same package, and even different builds of the same version, for example variants built with different compilers. When adding, removing or updating a package, nothing is removed from the store; instead, symlinks to these packages are added, removed or changed in ''profiles''.
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
<div lang="en" dir="ltr" class="mw-content-ltr">