Pour déployer nos machines, il est nécessaire de créer une image cloud de déploimenent. Pour créer ses images, nous nous basons sur le projet nixos-generator
Pour créer nos images, nous nous basons sur notre configuration "common", qui est un projet nix qui contient une base de configuration.
Nous avons dû créer un nouveau projet nix pour créer nos images.
Le flake va contenir plusieurs modules.
Graphical: L'image graphical est utilisé pour les machines de bureau
Minimal: L'image minimal est utilisé pour installer des serveurs
xenImage: L'image xen est ce qui se rapproche le plus d'une cloud image optimisé pour xcp ng
RaspberryPi: L'image RaspberryPi est utilisé pour les RaspberryPi
Dans chaque dossier, il y a les configurations spécifiques aux images associées.
Graphical
L'image graphical est utilisée pour faire l'installation de nixos avec un environnement de bureau. Mais peut aussi être utilisée en live pour avoir des outils de dépannage graphiques.
Minimal
L'image minimal est utilisée pour faire l'installation de nixos principalement sur un serveur. Mais cette image embarque uniquement les outils de base pour faire une installation de nixos.
Xen image
C'est l'image qui est utilisée pour faire des machines virtuelles sur XCP-ng. L'installation de cette image a été prévue pour être utilisé avec cloud-init. Et donc être utilisée en adéquation des logiciels d'automatisation tel que terraform et colmena.
CI
Dans la ci nous testons le build des images.
Voici le fichier de CI qui nous permet de builder les images.