Due vie di installazione. Un solo sistema dichiarato.
Nixorium trasforma la configurazione del laboratorio in sistemi NixOS completi, costruiti sul controller. Una macchina vuota si installa con PXE o con la ISO ufficiale di NixOS tramite USB/SSH, dopo una verifica; una macchina già installata riceve un aggiornamento separato con Colmena; il normale lavoro al desktop si svolge in locale.
- 01Valuta
- 02Compila
- 03Distribuisci
Installa, aggiorna o avvia in locale.
Il controller prepara tutto per entrambe le strade, ma non è un server di desktop remoto per l’aula. Ogni postazione installata esegue il proprio sistema NixOS e le proprie applicazioni.
Installazione PXE o USB/SSH
PXE carica l’installer su molte macchine. USB/SSH verifica una ISO ufficiale di NixOS quando l’avvio da rete non è disponibile. Entrambi portano allo stesso sistema firmato e al controllo del partizionamento con Disko.
Segui i due percorsi di installazione ↓Distribuzione del sistema
Colmena si collega via SSH, i client ricevono da Harmonia i percorsi dello store già pronti e NixOS attiva una nuova generazione.
Segui il percorso di aggiornamento ↓Avvio e applicazioni locali
La postazione si avvia dal proprio disco ed esegue il desktop localmente. PXE, l’installazione da USB, Colmena e la vista d’aula non intervengono nell’esecuzione ordinaria delle applicazioni.
Guarda il desktop degli studenti →Framework e configurazione del laboratorio restano separati.
Il bootstrap genera la configurazione del laboratorio, un repository privato che fissa la versione di Nixorium. Impostazioni e credenziali appartengono al laboratorio, non al framework pubblico.
- 01 · Ambiente live
Scegli la sorgente e il disco del controller
Il controller parte dalla ISO ufficiale di NixOS, Minimal o Graphical, in modalità UEFI e con accesso a Internet. Il bootstrap individua la sorgente di Nixorium scelta, imposta la tastiera della console, raccoglie account e impostazioni regionali e chiede conferma del disco che cancellerà.
- 02 · Configurazione del laboratorio
Crea il repository privato del laboratorio
La configurazione del laboratorio nasce dal modello e fissa Nixorium come sorgente a monte. La macchina installata parte in modalità solo controller, con l’account e le impostazioni regionali scelti nel bootstrap, mentre la rete del laboratorio resta disattivata.
- 03 · Gestione del laboratorio
Definisci il laboratorio quando la rete è pronta
Dopo il riavvio, Installation → Network boot (PXE) raccoglie la topologia della rete, crea le chiavi del controller che mancano, attiva il controller e prepara i client configurati. Le chiavi private restano sul controller.
Nixorium
Moduli versionati, programmi di installazione, impostazioni predefinite e la funzione che genera tutti i computer del laboratorio.
Versione fissata dalla configurazione del laboratorioIl tuo laboratorio
Impostazioni del laboratorio, personalizzazioni per singolo computer, risorse, hash delle password e chiavi pubbliche della cache e di SSH.
Le chiavi private restano sul controllerSistemi con nome
Le configurazioni valutate e gli artefatti usati per l’installazione e la distribuzione.
Un’unica fonte dello stato desideratoLa configurazione del laboratorio fissa la sorgente di Nixorium e le dipendenze. Cambiare un valore non modifica sul posto una macchina accesa: cambia l’input da cui il sistema interessato viene valutato e compilato.
lab-settings.jsonTopologia gestita, nomi locali dei ruoli, hash delle password, rete, lingua e formati, tastiera, pagina iniziale e altri valori tipizzati del laboratorio.
lab-software.jsonDichiarazioni dei pacchetti gestiti, ciascuna con il suo ambito esplicito: condiviso, controller, gruppo di client o singolo client.
workspace-profile.jsonL’ambiente di lavoro degli studenti: dock, aspetto, estensioni e impostazioni di VS Code e browser predefinito, modificati nell’editor guidato del menu testuale e ripristinati a ogni avvio.
flake.lockLe revisioni esatte di Nixorium e dei pacchetti NixOS. Update Nixorium e Update system and packages le cambiano solo dopo una tua verifica.
modules/ + assets/Regole avanzate decise dal laboratorio per postazioni, sviluppo, profili della home, singoli computer, identità grafica, editor e desktop.
keys/ + controller secretsLe chiavi pubbliche autorizzate della cache e di SSH possono essere versionate. Le chiavi private corrispondenti restano sul controller, fuori dai commit, e vengono installate dalla procedura gestita.
Bootstrap del controller Flake di distribuzione Schema di configurazione Generatore dei computer
Valuta, compila e pubblica.
- 01
Valuta il laboratorio
La configurazione del laboratorio genera una configurazione NixOS con nome per ogni client, una configurazione separata per il controller, un ambiente di avvio da rete, i metadati di distribuzione per Colmena e un pacchetto di installazione autonomo.
- 02
Compila sul controller
Gli input fissati e la configurazione condivisa producono ogni sistema client con tutte le sue dipendenze, più gli artefatti di avvio PXE e l’installer remoto USB/SSH, uguale per qualsiasi computer di destinazione.
- 03
Pubblica sulla rete locale
Harmonia espone i percorsi firmati dello store Nix. PXE pubblica la sua piccola catena di avvio; USB/SSH trasferisce un helper verificato nella ISO ufficiale di NixOS. I client usano in locale risultati già pronti, invece di risolverli e compilarli da Internet.
Due strade per un’installazione locale.
PXE è consigliato quando le macchine sono molte. USB/SSH serve per una singola macchina, identificata di persona, senza avvio da rete. Nessuno dei due è una normale distribuzione, ed entrambi sostituiscono il disco di destinazione, scelto e confermato esplicitamente.
Il Wi-Fi potrebbe non essere compatibile con PXE, a seconda di hardware, firmware e configurazione di rete. USB/SSH può usare Ethernet o Wi-Fi: il controller deve raggiungere il client live tramite SSH e il client deve raggiungere la cache firmata.
Segui il percorso PXE
- 01DHCP + ProxyDHCP
Individua il servizio di avvio
Il server DHCP della scuola continua ad assegnare gli indirizzi. Il processo dnsmasq di Nixorium risponde solo alla richiesta di avvio da rete e indirizza il firmware UEFI verso il controller.
- 02TFTP
Passa a iPXE
Il firmware riceve un piccolo eseguibile UEFI iPXE. iPXE riceve poi lo script di avvio generato dallo stesso controller.
- 03HTTP
Carica l’ambiente di installazione
Lo script di avvio scarica via HTTP il kernel NixOS e il ramdisk iniziale già preparati. Il ramdisk contiene il sorgente dell’installer specifico di questa distribuzione.
- 04Disko + NixOS
Installa la postazione scelta
L’operatore identifica il PC e conferma il disco di destinazione. Disko applica lo schema UEFI e Btrfs dichiarato; NixOS installa la configurazione di quel PC usando i percorsi firmati serviti da Harmonia.
- 05Disco locale
Lascia l’installer di rete
Dopo l’installazione la postazione si avvia dal proprio disco. PXE è la via d’ingresso per installare e ricreare il sistema, non serve a ogni avvio normale.
Segui il percorso con la ISO ufficiale di NixOS via SSH
- 01ISO ufficiale di NixOS
Avvia in locale ed esponi una sessione live
L’operatore avvia NixOS 26.05 (Minimal o Graphical) in modalità UEFI, si collega via Ethernet o Wi-Fi, imposta una password temporanea e legge sulla console fisica l’IP e l’impronta Ed25519 della sessione live.
- 02Identità SSH fissata
Associa identità fisica e logica
Il controller controlla proprio quell’impronta prima di autenticarsi con la password, installa una chiave valida solo per questa operazione e associa alla sessione live l’identità di un client configurato.
- 03Cache Harmonia firmata
Prepara il sistema esatto
Il controller compila la closure selezionata. Il client live accetta solo percorsi firmati da quel controller e non ripiega su Internet.
- 04Disko + NixOS
Rivedi e sostituisci un disco
Il supporto di avvio viene escluso. L’operatore sceglie esplicitamente un disco idoneo e conferma un riepilogo legato alla sessione fisica, al computer logico, alla revisione e al disco.
- 05Riavvio e verifica separati
Avvia il sistema installato
Al termine dell’installazione l’operatore rimuove la chiavetta USB o ne abbassa la priorità di avvio, autorizza a parte il riavvio e verifica il computer installato e la revisione esatta del sistema. Le credenziali Wi-Fi della sessione live non vengono copiate: prepara la connessione del sistema installato prima della verifica.
Il client non contatta Internet in nessuno dei due percorsi.
Gli artefatti PXE, o l’helper remoto, e tutti i percorsi firmati dello store Nix arrivano dal controller attraverso il traffico locale consentito. Il controller ha comunque bisogno di Internet per l’installazione iniziale e per i nuovi input; Nixorium non si autentica ai captive portal e non aggira le regole della rete.
Sorgente del servizio PXE Sorgente dell’installer dei client Sorgente del partizionamento del disco
Distribuisci con Colmena.
Una volta installata la postazione, i normali aggiornamenti del sistema la raggiungono via SSH al suo indirizzo statico di laboratorio. Non ripetono l’installazione del disco, né con PXE né con USB/SSH.
- 01ModificaModifica o aggiorna la configurazione del laboratorio
- 02CompilaGenera i sistemi selezionati sul controller
- 03DistribuisciPubblica i percorsi firmati dello store tramite Harmonia
- 04ApplicaColmena raggiunge un client o il gruppo del laboratorio via SSH
- 05AttivaNixOS registra la nuova generazione del sistema
La configurazione del controller si applica a parte. Poi l’operatore sceglie uno o più client configurati; conviene provare prima su una postazione rappresentativa.
Definizioni dei computer per Colmena Configurazione della cache dei client Generazioni NixOS e ritorno alla versione precedente
Componenti e responsabilità.
Nixorium installa e configura questi componenti come parte della gestione del laboratorio.
Sugli schermi stretti scorri di lato per leggere tutte le colonne. Puoi anche selezionare la tabella e usare i tasti freccia.
| Componente | Compito in Nixorium | Fase |
|---|---|---|
| Nix + NixOS | Fissa gli input, valida i moduli, compila sistemi completi e conserva le generazioni attivate. | Definizione e compilazione |
| Sistema di moduli NixOS + mkLab | Valida la configurazione del laboratorio e genera le configurazioni di controller, client, avvio da rete, installer e distribuzione. | Valutazione |
| Builder e store Nix | Compila sul controller le closure dei sistemi e gli artefatti di avvio, a partire dalla definizione fissata. | Compila |
| Harmonia | Distribuisce i percorsi firmati dello store Nix dal controller ai client sulla rete locale. | Installazione e aggiornamento |
| dnsmasq, TFTP, HTTP e iPXE | Indirizza i client UEFI al kernel e al ramdisk già preparati senza sostituire il DHCP dell’istituto. | Installa |
| OpenSSH + installer remoto | Verifica una ISO ufficiale di NixOS, associa la sua impronta fisica a un client configurato e avvia un’installazione già controllata, con ricevute che sopravvivono a un riavvio. | Installa |
| Disko | Applica lo schema dichiarato di partizioni e filesystem al disco di installazione confermato dall’operatore. | Installa |
| Colmena + OpenSSH | Raggiunge un client o il gruppo del laboratorio e coordina l’attivazione remota dal controller. | Aggiorna |
| Generazioni NixOS | Registra le configurazioni di sistema attivate, così una generazione precedente resta disponibile per tornare indietro. Free disk space tiene le dieci più recenti su ogni computer e il menu di avvio ne mostra al massimo dieci. | Attivazione |
| age | Cifra con una passphrase il backup del controller: configurazione con cronologia Git, chiavi private e chiavi dei computer attendibili. | Backup |
| Vista d’aula | Mostra al docente gli schermi degli studenti e gestisce blocco, condivisione dello schermo e consegna dei file attraverso l’accesso SSH già esistente; non installa né distribuisce sistemi NixOS. | Gestione dell’aula |
Limiti di rete e di fiducia.
- Connessione del controller
- Internet serve per il bootstrap e per i nuovi input software non ancora disponibili.
- Connessione dei client
- Per l’installazione e gli aggiornamenti già preparati non serve un accesso diretto a Internet; serve l’accesso al controller sulla rete locale consentita.
- Indirizzi PXE
- Gli artefatti di avvio generati puntano all’indirizzo DHCP del controller. Se cambia prima di una sessione di avvio da rete, vanno ricostruiti.
- Identità USB/SSH
- L’operatore deve essere presente per avviare la ISO ufficiale di NixOS, leggere sullo schermo l’IP e l’impronta Ed25519, scegliere il disco e gestire il supporto di installazione.
- Aggiornamenti ordinari
- Colmena raggiunge i client installati via SSH, ai loro indirizzi statici di laboratorio.
- Avvio e disco
- L’installer standard attuale richiede x86_64 UEFI e cancella il disco di destinazione confermato dall’operatore.
- Fiducia e controllo
- Firme della cache, confronto delle impronte davanti al PC, chiavi SSH, configurazione del laboratorio, scelta dei computer, controllo del disco e distribuzione restano responsabilità dell’operatore.
- Limite delle credenziali
- I client ricevono il materiale pubblico autorizzato. Le credenziali private della cache e di SSH restano sul controller, fuori dal codice pubblico versionato.
- Backup del controller
- Il backup cifrato contiene tutto quello che serve per sostituire il controller senza reinstallare i client. Tienilo separato dalla sua passphrase: chi li ha entrambi può gestire il laboratorio.
- Monitoraggio dell’aula
- L’agente della vista d’aula gira nella sessione dello studente su un socket privato e non apre porte di rete. Il controller lo raggiunge solo attraverso l’accesso SSH già esistente, e GNOME mostra il suo avviso di condivisione mentre lo schermo viene catturato.