Cette page se base sur le PR #100 qui n’est pas encore fusionné dans dev.

  • Pour éviter les pavés, proposer un screen/balise de code avec une coloration, mise en évidence du rôle de chaque lignes.

Le dépôt est structuré des éléments principaux suivant :

.
├── flake.nix
├── flake.lock
├── Makefile
├── patches/
│   └── calamares-nixos-extensions/
│       ├── branding/
│       │   └── nixos/
│       │       └── ...
│       ├── config/
│       │   └── ...
│       └── modules/
│           └── nixos/
│               └── main.py
├── iso/
│   ├── flake.nix
│   ├── flake.lock
│   ├── configuration.nix
│   └── hardware-configuration.nix
├── modules/
│   └── default/
│       └── ...
└── assets/
    └── wallpaper/
        └── ...
Nom Fonction
flake.nix Décrit comment générer une image iso.
flake.lock Verrou de version de nixpkgs.
Makefile Contient des commandes pour automatiser les tests de la configuration, génération d’image iso.
patches Contient des modifications pour calamares permettant d’inclure des configurations personnalisées durant l’installation.
iso Contient les configurations propres à l’image iso et des configurations ajoutées durant l’installation.
modules Contient l’ensemble des modules GLF
assets C’est ici que sont conservés les assets comme les wallpapers ou icons.

Fonctionnement du flocon à la racine du dépôt.

Le flocon ./flake.nix à la racine du dépôt endosse plusieurs capes.

Générer une configuration nixos

  • Import des modules NixOS pour obtenir le support d’installation calamares.
  • Import des channels pour qu’ils soient disponible dans l’iso (réduit la quantité à télécharger durant l’installation)
  • Import du module GLF
  • Import du fichier ./nix-cfg/configuration.nix

  • Permettre l’installation de paquets propriétaire.
  • Modification de calamares de sorte à permettre l’ajout d’une configuration personnalisée.

  • Paramètres liés à l’image ISO générée, tels que la compression, l’ajout du répertoire ./nix-cfg dans l’iso.

Les lignes ci-dessous sont liés à ./nix-cfg/configuration.nix

Le premier rôle est de construire une configuration NixOS incluant :

  • Configuration des langues pour proposer du français par défaut
  • Configuration du layout pour proposer AZERTY
  • Ajout d’un utilisateur “nixos” (par défaut)
  • HostName définit sur “GLF-OS”
  • Activation du support des flocons