mirror of https://gitlab.crans.org/nounous/nixos
README.md: ajout de doc sur `/nix/var`.
parent
d966a21c4f
commit
03a66af43a
|
@ -51,10 +51,13 @@ Pour trouver des options pour décrire la configuration d'une machine, rendez-vo
|
||||||
|
|
||||||
### Nix Store
|
### Nix Store
|
||||||
|
|
||||||
Le `Nix Store` est une abstraction permettant de stocker **de manière immuable** des données utiles au package manager `nix` et à `NixOS` (comme les dérivations, les sources de packages, ...). On peut découper le `Nix Store` en plusieurs parties, les principales étant le dossier `/nix/store` en local, ou les différents caches contenant des binaires pour éviter la recompilation de tous les packages (le principal étant situé à https://cache.nixos.org).
|
Le `Nix Store` est une abstraction permettant de stocker **de manière immuable** des données utiles au package manager `nix` et à `NixOS` (comme les dérivations, les sources de packages, les packages eux-mêmes, ...). On peut découper le `Nix Store` en plusieurs parties, les principales étant le dossier `/nix/store` en local, ou les différents caches contenant des binaires pour éviter la recompilation de tous les packages (le principal étant situé à https://cache.nixos.org).
|
||||||
|
|
||||||
Il est important de noter que **`/nix/store` est un dossier monté en lecture seule et est visible par tous les utilisateurices**. Il est donc crucial de **ne jamais laisser apparaître de mot de passe en clair dans cette configuration**, car celui-ci serait alors lisible par tous les utilisateurices ayant accès à la machine. L'utilisation de `Sops` (voir [secrets/README.md](secrets/README.md)) permet de palier ce problème en introduisant des secrets chiffrés uniquement accessibles pour les machines devant y avoir accès et pour les nounous.
|
Il est important de noter que **`/nix/store` est un dossier monté en lecture seule et est visible par tous les utilisateurices**. Il est donc crucial de **ne jamais laisser apparaître de mot de passe en clair dans cette configuration**, car celui-ci serait alors lisible par tous les utilisateurices ayant accès à la machine. L'utilisation de `Sops` (voir [secrets/README.md](secrets/README.md)) permet de palier ce problème en introduisant des secrets chiffrés uniquement accessibles pour les machines devant y avoir accès et pour les nounous.
|
||||||
|
|
||||||
|
Bien que ce que les fonctionnalités de Nix exposées dans cette documentation sont pures, Nix a besoin d'un état interne. Les fichiers **stateful** de `Nix` se trouvent dans le dossier `/nix/var`. Ce dossier contient notamment les logs de `Nix`, ainsi qu'une base de donnée Sqlite, les profiles `Nix`, *etc.*
|
||||||
|
Certains de ces fichiers ne sont pas primordiaux (*e.g.* les logs), mais d'autres le sont. Par exemple, la BDD (accessible au chemin suivant : `/nix/var/db/db.sqlite`) est nécessaire au bon fonctionnement de `Nix`. Une corruption de cette BDD peut entrainer le dysfonctionnement du système (*e.g.* ne plus pouvoir faire de maj).
|
||||||
|
|
||||||
### Flakes
|
### Flakes
|
||||||
|
|
||||||
Le fichier [`flake.nix`](flake.nix) dénote de tous les autres fichiers de cette configuration : celui-ci est une `flake`, à savoir l'unité de permettant de packager du code `nix` de manière reproducible. Plus simplement, dans notre cas, cette `flake` contient toutes les sources utilisées dans la configuration pour pouvoir être évaluée, ainsi que toutes les sorties, à savoir les configurations de toutes les machines, ainsi que les shells de développement (voir [la partie sur les `devshells`](#devshells)).
|
Le fichier [`flake.nix`](flake.nix) dénote de tous les autres fichiers de cette configuration : celui-ci est une `flake`, à savoir l'unité de permettant de packager du code `nix` de manière reproducible. Plus simplement, dans notre cas, cette `flake` contient toutes les sources utilisées dans la configuration pour pouvoir être évaluée, ainsi que toutes les sorties, à savoir les configurations de toutes les machines, ainsi que les shells de développement (voir [la partie sur les `devshells`](#devshells)).
|
||||||
|
|
Loading…
Reference in New Issue