Flakes/fr: Difference between revisions
Created page with "== Schéma d'un Flocon ==" Tags: Mobile edit Mobile web edit |
Created page with "====AVERTISSEMENT Chiffrement====" |
||
(24 intermediate revisions by the same user not shown) | |||
Line 19: | Line 19: | ||
* Les flocons permettent également de verrouiller des références et des versions, qui peuvent ensuite être interrogées et mises à jour de manière programmatique. | * Les flocons permettent également de verrouiller des références et des versions, qui peuvent ensuite être interrogées et mises à jour de manière programmatique. | ||
* Une [https://nixos.org/manual/nix/stable/command-ref/new-cli/nix.html interface de ligne de commandes expérimentale] accepte les références flocon pour les expressions qui créent, exécutent et déploient des packages. | |||
* | |||
< | <span id="Enable_flakes_temporarily"></span> | ||
==== | ====Activer temporairement les flocons==== | ||
Lorsque vous utilisez une commande <code>nix</code>, ajoutez les commandes suivantes: | |||
<syntaxhighlight lang="shell"> | <syntaxhighlight lang="shell"> | ||
--experimental-features 'nix-command flakes' | --experimental-features 'nix-command flakes' | ||
</syntaxhighlight> | </syntaxhighlight> | ||
< | <span id="Enable_flakes_permanently_in_NixOS"></span> | ||
==== | ====Activer les flocons de manière permanente dans NixOS==== | ||
Ajoutez ce qui suit à la [[Overview_of_the_NixOS_Linux_distribution#Declarative_Configuration system configuration |configuration NixOS]]: | |||
<syntaxHighlight lang=nix> | <syntaxHighlight lang=nix> | ||
Line 46: | Line 38: | ||
</syntaxHighlight> | </syntaxHighlight> | ||
< | <span id="Other_Distros,_with_Home-Manager"></span> | ||
===== | =====Autres Distributions, avec Home-Manager===== | ||
Ajouter ce qui suis à votre configuration home-manager: | |||
<syntaxhighlight lang="nix"> | <syntaxhighlight lang="nix"> | ||
Line 58: | Line 47: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
< | <span id="Other_Distros,_without_Home-Manager"></span> | ||
===== | =====Autres Distributions, sans Home-Manager===== | ||
<div lang="en" dir="ltr" class="mw-content-ltr"> | <div lang="en" dir="ltr" class="mw-content-ltr"> | ||
Line 66: | Line 54: | ||
</div> | </div> | ||
Ajoutez ce qui suit à <code>~/.config/nix/nix.conf</code> ou <code>/etc/nix/nix.conf</code>: | |||
<syntaxHighlight lang=text> | <syntaxHighlight lang=text> | ||
Line 74: | Line 60: | ||
</syntaxHighlight> | </syntaxHighlight> | ||
< | <span id="Basic_Usage_of_Flake"></span> | ||
=== | ===Utilisation de base des Flocons=== | ||
Avant d'exécuter des commandes nix à ce stade, prenez note des deux avertissements ci-dessous: l'un pour le chiffrement et l'autre pour git. | |||
< | <span id="Encryption_WARNING"></span> | ||
==== | ====AVERTISSEMENT Chiffrement==== | ||
<div lang="en" dir="ltr" class="mw-content-ltr"> | <div lang="en" dir="ltr" class="mw-content-ltr"> | ||
Line 90: | Line 72: | ||
</div> | </div> | ||
< | <span id="Git_WARNING"></span> | ||
====Git | ====AVERTISSEMENT Git==== | ||
Pour les flocons dans un dépôt git, seuls les fichiers dans l'arbre de travail seront copiés dans le store. | |||
<div lang="en" dir="ltr" class="mw-content-ltr"> | <div lang="en" dir="ltr" class="mw-content-ltr"> | ||
Line 120: | Line 99: | ||
== Schéma d'un Flocon == | == Schéma d'un Flocon == | ||
Un fichier flake.nix est un fichier Nix mais avec des restrictions spéciales (nous en reparlerons plus tard) | |||
Il possède 4 attributs de premier niveau : | |||
* <code>description</code> est une chaine de caractères décrivant le flocon. | |||
* <code>description</code> | |||
* <code>inputs</code> est un attribut définissant toutes les dépendances du flocon. Le schéma est décrit ci-dessous. | |||
* <code>inputs</code> | |||
* <code>outputs</code> est une fonction d'un argument qui prend un ensemble d'attributs de toutes les entrées réalisées et génère un autre ensemble d'attributs dont le schéma est décrit ci-dessous. | |||
* <code>outputs</code> | |||
<div lang="en" dir="ltr" class="mw-content-ltr"> | <div lang="en" dir="ltr" class="mw-content-ltr"> | ||
Line 144: | Line 113: | ||
</div> | </div> | ||
< | <span id="Input_schema"></span> | ||
=== | === Schéma d'entrée === | ||
[https://nixos.org/manual/nix/stable/command-ref/new-cli/nix3-flake.html#flake-inputs Le manuel d'entrée de flocon nix]. | |||
[https://nixos.org/manual/nix/stable/command-ref/new-cli/nix3-flake.html#flake-inputs | |||
[https://nixos.org/manual/nix/stable/command-ref/new-cli/nix3-flake.html#flake-references Le manuel de références de flocon nix]. | |||
[https://nixos.org/manual/nix/stable/command-ref/new-cli/nix3-flake.html#flake-references | |||
L'attribut d'entrée (inputs) définit les dépendances du flocon. Par exemple, nixpkgs doit être défini comme une dépendance pour un flocon système afin que le système se construise correctement. | |||
Nixpkgs peut être défini en utilisant le code suivant: | |||
<code>inputs.nixpkgs.url = "github:NixOS/nixpkgs/<branch name>";</code> | <code>inputs.nixpkgs.url = "github:NixOS/nixpkgs/<branch name>";</code> |