Tutorial NixOS-Compose @ COMPAS25
Quentin Guilloteau, Millian Poquet, Olivier RICHARD
2025-06-24
On the 24/06/2025 we animated a tutorial on NixOS-Compose at the french conference COMPAS 25.
In total there were about 30 participants, mainly interns and PhD students: which was the most participants we ever had for a tutorial!


A "New" Tutorial
This was also the first edition of the "new" version of the tutorial. Historically, the tutorial goes through the setting up of the evaluation of a NFS server with an I/O benchmark (ior). However, when we update the nixpkgs version from 23.05 to 24.11, we had troubles with the configuration of the NFS... We thus decided to switch the file-system from NFS to GlusterFS, on which we had little experience before. In the end, it seems that besides some small typo in the commands to execute to set up the GlusterFS volume, everthing went right!
Technical Issues
Nix and NFS
As this was also the first edition with that many participants, we were also fearing some technical issues, namely the performance of the NFS servers of Grid'5000.
This is because, as Nix is not installed and supported by default on Grid'5000, we have asked the participants to install Nix in their /home/ directory, which are stored on a NFS server.
When evaluating and building, Nix will make a lot of system calls which could greatly impact the performance of any file system, but is even worse on NFS.
(more information can be found in the very good Guix blog post).
Howerver, it seems that the NFS servers of Grid'5000 survived, but the tutorial did stress it.
Below is the requests per second on the NFS server of the Grenoble site of Grid'5000. The tutorial took place between 9:00am to 12:45pm, with a break from 10:30am to 11:00am.

We can indeed see the high loads in getattr and lookup system calls, which is what we expect from a Nix usage.
IP Banning
The unexpected issue however, was the ban of the IP address of the university due to too many connection attempts to Grid'5000! As all the participants were logged on the same WiFi and trying to connect to Grid'5000, Grid'5000 has received a lot of connections from the same IP address and decided to ban it. This left us unable to connect to Grid'5000 for a bit less than 30 minutes, but the admins of Grid'5000 were really fast to respond and solve this issue.
Conclusion
Overall the tutorial was a "success" despite the small technical issues. It is however unclear if we would get any users from it. Some participants seemed interested by the concepts of NixOS-Compose, but their experiments do not always required the power of NixOS-Compose.
Resource Usage
| site | cluster | core time |
|---|---|---|
| Grenoble | dahu | 66d 18H 52M 16S |
| Grenoble | drac | 1H 19M 20S |
| Grenoble | troll | 3d 2H 4M 16S |
| Lyon | hercule | 5H 20M 0S |
| Lyon | nova | 7H 6M 40S |
| Lyon | orion | 1H 46M 48S |
| Lyon | taurus | 19H 44M 0S |
| Nancy | gros | 21d 20H 48M 18S |
| Nantes | econome | 1d 22H 43M 12S |
| Nantes | ecotype | 2d 14H 18M 0S |
| Rennes | parasilo | 6d 15H 26M 40S |
| Total | 104d 9H 29M 30S |
In total this tutorial consummed about 104 core days. With 30 participants, that sums up to 3 day and 11 core hours per participants.