Cómo reducir el tamaño de una ISO de NixOS deshabilitando componentes

Fuentes: I can haz smoller NixOS ISOs?

Las imágenes ISO que genera NixOS mediante el módulo iso-image.nix ocupan 458 MiB en su configuración más básica, casi diez veces más que el escritorio completo de Damn Small Linux y muy por encima de las 66 MiB que pesa la ISO de Alpine para máquinas virtuales. El grueso del volumen se concentra en un squashfs de 416 MiB que contiene el userspace comprimido.

Para adelgazar la imagen es necesario analizar el contenido del nix-store.squashfs, que duplica rutas del /nix/store del host, y sustituirlo por un enlace al store local. Herramientas como nix why-depends permiten rastrear cada dependencia hasta su origen: por ejemplo, Boost entra en la ISO porque lo requiere el demonio de Nix, y grandes paquetes como Python 3.13 (128 MiB) o systemd 260 (60 MiB) se cuelan por dependencias transitivas.

El artículo propone dos palancas de configuración que recortan volumen de forma inmediata: nix.enable = false, que elimina el demonio de Nix y todas sus dependencias, y documentation.enable = false, que suprime los manuales en HTML, PDF e Info. Aplicar ambas sobre la configuración de ejemplo reduce la ISO a 384 MiB, un primer recorte de 74 MiB. El texto deja entrever que aún hay recorrido para seguir eliminando componentes y acercarse al orden de magnitud de Alpine o del extinto Damn Small Linux, en un ejercicio de ingeniería inversa sobre la cadena de construcción de imágenes de NixOS.