La triade: Eggs, Chef e GUI
Nel ciclo di vita di un progetto open source votato alla libertà, la roadmap non è un rigido calendario aziendale, ma l'orizzonte di un'evoluzione continua che risponde all'esperienza reale sul campo.
Ciò che nella generazione storica in TypeScript (penguins-eggs-legacy) era racchiuso in un unico blocco o delegato a script procedurali di contorno (wardrobe e tailor), oggi trova compimento nella divisione del lavoro tra tre progetti autonomi e complementari:
🥚 1. penguins-eggs (eggs) — il motore e la cova
Scritto in Go (coa) e C (oa), è il motore di rimasterizzazione, clonazione e installazione.
- Cosa fa: Osserva un sistema Linux vivo, ne isola lo stato tramite OverlayFS, comprime il filesystem in SquashFS (anche cifrato con LUKS2) e genera un'immagine ISO ibrida avviabile (UEFI + BIOS), pronta per essere installata su disco o in multi-boot tramite Krill (TUI) o Calamares (GUI).
- A chi si rivolge: Utenti, amministratori di sistema, creatori di derivate e agenti IA (tramite il server MCP integrato).
👨🍳 2. penguins-chef (chef) — la cucina dichiarativa
Un singolo binario in Go a zero dipendenze che sostituisce definitivamente i vecchi strumenti di tailoring.
- Cosa fa: Permette di partire dal basso — da un sistema minimale a sola riga di comando (
naked) — e di assemblare il proprio habitat attraverso ricette YAML dichiarative (recipes/), componibili conincludee dotate di overlaysysroot/. - Perché è diverso: Non agisce mai alla cieca: offre una simulazione completa senza privilegi di root (
chef apply <ricetta> --dry-run), verifica in anticipo l'esistenza di ogni pacchetto nei repository e rispetta un contratto idempotente in 8 passi.
🖥️ 3. penguins-gui — l'interfaccia grafica desktop
L'interfaccia grafica desktop sviluppata in Go con il toolkit Fyne, distribuita come AppImage universale e pacchetti nativi.
- Cosa fa: Unisce
eggsechefsulla scrivania senza introdurre dipendenze nel motore CLI. Consente di installareeggse Calamares al primo avvio, esplorare e applicare le ricette di Chef tramite la finestra Cook (con Filtro anti-Frankenstein per proteggere il desktop attivo), lanciare i voli di creazione ISO e configurare il boot diretto della ISO da GRUB (Boot ISO…).
🔄 Sintesi del flusso
| Fase | Da Terminale (CLI / Server / Naked) | Da Scrivania (Desktop GUI) |
|---|---|---|
| 1. Preparazione repo | sudo eggs tools repo add | Menu Edit → Install penguins-egg CLI |
| 2. Cucina dell'habitat | chef get + chef apply <ricetta> --dry-run + sudo chef apply | Pulsante Cook → 👁 Dry Run → ✓ Apply Recipe |
| 3. Propagazione profilo | sudo eggs tools skel + sudo eggs tools clean | Edit → Update /etc/skel + Pulsante Clean |
| 4. Cova della ISO | sudo eggs remaster (o --clone / --crypted / eggs wizard) | Seleziona modalità → Pulsante Create ISO |
| 5. Collaudo / Nascita | sudo eggs tools grub40 -w <iso> / sudo eggs sysinstall krill | Pulsante Boot ISO / Installer Calamares |
Il traguardo non è una versione statica, ma la capacità costante dell'organismo di rigenerarsi e adattarsi a ogni nuovo silicio (x86_64, ARM64, RISC-V) mantenendo intatta l'esperienza di chi lo abita.