El lenguaje Nix es perezoso: solo evalúa los atributos a los que se accede, lo que permite conjuntos de atributos recursivos aparentemente infinitos. Partiendo de esa idea, el desarrollador fzakaria construyó un proyecto llamado "nes-nix" que representa el estado de una partida de Super Mario Bros. 3 como un árbol de derivaciones, donde cada pulsación de botón produce una nueva derivación que recibe como entrada el estado guardado de la pulsación anterior.
Cada fotograma del juego se almacena en el store de Nix como una derivación independiente, de modo que emular cien pulsaciones cuesta solo las que no se hayan calculado antes. El sufijo ".play" concatena los fotogramas en un vídeo mediante ffmpeg sin necesidad de reemular nada. Con esa base, el proyecto demuestra varios límites prácticos: la profundidad máxima de llamada de Nix (~2.400 pulsaciones por defecto, ampliable a unas 20.000), el tope de longitud de argumento del kernel Linux (21.845 pulsaciones en su máquina) y el coste lineal de construcción (~1,27 s por pulsación con caché, ~0,28 s sin ella).
Más allá de la anécdota, el artículo reflexiona sobre lo que esto implica: la ruta de atributos deja de ser un simple identificador y se convierte en un programa. El "package manager" se revela como una capa de persistencia razonable para máquinas de estados reproducibles, lo que sugiere usos muy alejados del empaquetado de software convencional.
