How Nixorium began in a school computer lab.
Nixorium began in a final-year high school lab in Italy. The room has 30 student workstations and one controller, but the clients cannot reach the Internet until a user authenticates to the school network.
- Students
- Final year of high school in Italy
- Workstations
- 30 student PCs
- Controller
- 1 (31 machines in total)
No Internet until someone signed in.
On the school network, a PC reached the Internet only after someone signed in with school credentials. A freshly installed or idle PC could not download software or updates on its own. Every installation and every update meant walking to each of the 30 machines, signing in and starting the work by hand, one PC at a time. Nothing could be done centrally.
So the answer had to come from inside the lab. One controller prepares the systems and serves them over the lab’s own network. Installation, updates and recovery now start from the controller for all the PCs, with no sign-in on each machine. Students still use the school’s authenticated Internet access during their lessons.
Clonezilla, then Ansible, preceded NixOS.
The lab had previously been administered with Clonezilla and then Ansible. Nix shifted the operating model toward describing the intended systems and deploying that configuration repeatedly.
Later, for the customizations the menu did not offer, editing the configuration by hand gave way more and more often to asking an AI. That habit became Assistant, the optional service in the administrator menu, whose proposals are reviewed before anything is saved. Explore Assistant →
Local preparation and network boot.
UEFI PXE allows workstations to be installed without starting each one from USB. It is used for installation; the installed PCs boot from their own disks. A local binary cache supplies prepared software, and the controller deploys later changes over the network.
A DHCP address serves the school network alongside a static address for local management.
Familiar tools. Durable storage.
Students mostly use VS Code, Chromium, Docker, and Git. GNOME was chosen because it was already familiar to them.
Programming work uses Git. Students choose their own server, and almost everyone uses GitHub. Other documents go to Google Drive through their school accounts.
Home reset and local history.
The student home returns to a clean template at boot, while local snapshots keep earlier states available for file recovery. This resets 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.
Approximately one hour to reinstall the lab.
Reinstalling the whole lab takes approximately one hour. More importantly, maintenance became more predictable: one declared configuration, consistent machines, and a repeatable route to rebuilding a workstation.
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 are classroom choices, not product integrations. For present-day behavior and compatibility, use the operational guides.
Nixorium is built and maintained by a teacher.
Start with one controller, then one client.
Check the requirements, begin with one controller, then validate one representative client before expanding to the room.