Flakes/fr: Difference between revisions

CORAAL (talk | contribs)
Created page with "== Schéma d'un Flocon =="
Tags: Mobile edit Mobile web edit
CORAAL (talk | contribs)
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.


<div lang="en" dir="ltr" class="mw-content-ltr">
* 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.
* An [https://nixos.org/manual/nix/stable/command-ref/new-cli/nix.html experimental command-line interface] accepts flake references for expressions that build, run, and deploy packages.
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
<span id="Enable_flakes_temporarily"></span>
====Enable flakes temporarily====
====Activer temporairement les flocons====
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
Lorsque vous utilisez une commande <code>nix</code>, ajoutez les commandes suivantes:
When using any <code>nix</code> command, add the following command-line options:
</div>
<syntaxhighlight lang="shell">
<syntaxhighlight lang="shell">
  --experimental-features 'nix-command flakes'
  --experimental-features 'nix-command flakes'
</syntaxhighlight>
</syntaxhighlight>


<div lang="en" dir="ltr" class="mw-content-ltr">
<span id="Enable_flakes_permanently_in_NixOS"></span>
====Enable flakes permanently in NixOS====
====Activer les flocons de manière permanente dans NixOS====
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
Ajoutez ce qui suit à la [[Overview_of_the_NixOS_Linux_distribution#Declarative_Configuration system configuration |configuration NixOS]]:
Add the following to the [[Overview_of_the_NixOS_Linux_distribution#Declarative_Configuration system configuration |NixOS configuration]]:
</div>


<syntaxHighlight lang=nix>
<syntaxHighlight lang=nix>
Line 46: Line 38:
</syntaxHighlight>
</syntaxHighlight>


<div lang="en" dir="ltr" class="mw-content-ltr">
<span id="Other_Distros,_with_Home-Manager"></span>
=====Other Distros, with Home-Manager=====
=====Autres Distributions, avec Home-Manager=====
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
Ajouter ce qui suis à votre configuration home-manager:
Add the following to your home-manager config:
</div>


<syntaxhighlight lang="nix">
<syntaxhighlight lang="nix">
Line 58: Line 47:
</syntaxhighlight>
</syntaxhighlight>


<div lang="en" dir="ltr" class="mw-content-ltr">
<span id="Other_Distros,_without_Home-Manager"></span>
=====Other Distros, without Home-Manager=====
=====Autres Distributions, sans Home-Manager=====
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
<div lang="en" dir="ltr" class="mw-content-ltr">
Line 66: Line 54:
</div>
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
Ajoutez ce qui suit à <code>~/.config/nix/nix.conf</code> ou <code>/etc/nix/nix.conf</code>:
Add the following to <code>~/.config/nix/nix.conf</code> or <code>/etc/nix/nix.conf</code>:
</div>


<syntaxHighlight lang=text>
<syntaxHighlight lang=text>
Line 74: Line 60:
</syntaxHighlight>
</syntaxHighlight>


<div lang="en" dir="ltr" class="mw-content-ltr">
<span id="Basic_Usage_of_Flake"></span>
===Basic Usage of Flake===
===Utilisation de base des Flocons===
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
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.
Before running any nix commands at this point, please note the two warnings below: one for encryption and the other for git.
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
<span id="Encryption_WARNING"></span>
====Encryption WARNING====
====AVERTISSEMENT Chiffrement====
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
<div lang="en" dir="ltr" class="mw-content-ltr">
Line 90: Line 72:
</div>
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
<span id="Git_WARNING"></span>
====Git WARNING====
====AVERTISSEMENT Git====
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
Pour les flocons dans un dépôt git, seuls les fichiers dans l'arbre de travail seront copiés dans le store.
For flakes in git repos, only files in the working tree will be copied to the store.
</div>


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


<div lang="en" dir="ltr" class="mw-content-ltr">
Un fichier flake.nix est un fichier Nix mais avec des restrictions spéciales (nous en reparlerons plus tard)
The flake.nix file is a Nix file but that has special restrictions (more on that later).
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
Il possède 4 attributs de premier niveau :
It has 4 top-level attributes:
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
* <code>description</code> est une chaine de caractères décrivant le flocon.
* <code>description</code> is a string describing the flake.
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
* <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> is an attribute set of all the dependencies of the flake. The schema is described below.
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
* <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> is a function of one argument that takes an attribute set of all the realized inputs, and outputs another attribute set whose schema is described below.
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
<div lang="en" dir="ltr" class="mw-content-ltr">
Line 144: Line 113:
</div>
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
<span id="Input_schema"></span>
=== Input schema ===
=== Schéma d'entrée ===
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
[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 The nix flake inputs manual].
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
[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 The nix flake references manual].
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
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.
The inputs attribute defines the dependencies of the flake. For example, nixpkgs has to be defined as a dependency for a system flake in order for the system to build properly.
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
Nixpkgs peut être défini en utilisant le code suivant:
Nixpkgs can be defined using the following code:
</div>


<code>inputs.nixpkgs.url = "github:NixOS/nixpkgs/<branch name>";</code>
<code>inputs.nixpkgs.url = "github:NixOS/nixpkgs/<branch name>";</code>