The original classroom

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)
The classroom problem

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.

The path to NixOS

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 →

Operational choices

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.

What students actually use

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.

Reset and recovery

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.

Observed result

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.

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 are classroom choices, not product integrations. For present-day behavior and compatibility, use the operational guides.

Nixorium is built and maintained by a teacher.

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.