The original classroom

How Nixorium began in a school computer lab.

Nixorium began in a final-year high school lab in Italy. The room had 30 student workstations and one controller, but the clients could not reach the Internet until a user authenticated to the school network.

Students
Final year of high school in Italy
Workstations
30 student PCs
Controller
1 — 31 machines in total
The classroom problem

Installation before login.

The network restriction complicated installation, updates, and recovery. The machines needed to be prepared consistently using resources available inside the lab, before students signed in.

The resulting workflow used one controller to prepare systems and serve them locally. Students could still use the school’s authenticated Internet access during their sessions.

The path to NixOS

Clonezilla, then Ansible, preceded NixOS.

The lab had previously been administered with Clonezilla and then Ansible. Nix and Colmena shifted the operating model toward describing the intended systems and deploying that configuration repeatedly.

Operational choices

Local preparation and network boot.

UEFI PXE allowed workstations to be installed without starting each one from USB. It was used for installation; the installed PCs booted from their own disks. A local binary cache supplied prepared software, and Colmena coordinated later deployments.

A DHCP address served the school network alongside a static address for local management.

What students actually used

Familiar tools. Durable storage.

Students mostly used VS Code, Chromium, Docker, and Git. GNOME was chosen because it was already familiar to them.

Programming work used Git. Students chose their own server, and almost everyone used GitHub. Other documents went to Google Drive through their school accounts.

Reset and recovery

Home reset and local history.

The student home returned to a clean template at boot, while local snapshots kept earlier states available for file recovery. This reset the student workspace, not the entire system.

A fully ephemeral system with selected persistent state was considered. For this lab, resetting the home and retaining snapshots was operationally simpler.

Observed result

Approximately one hour to reinstall the lab.

The original deployment was observed to reinstall the lab in approximately one hour. More importantly, maintenance became more predictable: one declared configuration, consistent machines, and a repeatable route to rebuilding a workstation.

Scope of this account

This is one classroom experience.

The approximately one-hour reinstall is an observation rather than a benchmark: its hardware and measurement conditions were not recorded. GitHub and Google Drive were classroom choices, not product integrations. For present-day behavior and compatibility, use the operational guides.

Nixorium is built and maintained by a teacher who has worked in school computer labs in Florence for 25 years.

Evaluate Nixorium

Start with one controller, then one client.

Check the requirements, begin with one controller, then validate one representative client before expanding to the room.