Cómo convertir cualquier servidor web en un almacén de Nix

Fuentes: How to turn any web server into a Nix store

Un almacén de Nix no requiere un servidor especializado; basta con implementar tres funciones básicas que el cliente de Nix utilice para validar y descargar paquetes. Este artículo técnico explica que, gracias a la arquitectura de seguridad de Nix, cualquier servidor web que pueda responder a estas tres solicitudes puede funcionar como un sustituto binario remoto, incluso si no es un dominio de confianza. Las funciones necesarias son: obtener la información de la carpeta de almacenamiento, recuperar los metadatos de un archivo (.narinfo) y descargar el archivo comprimido desde la URL especificada en los metadatos. La validación se basa en la firma digital del archivo, que verifica el hash del contenido y el tamaño, pero no depende de la URL ni del protocolo de red utilizado. Esto permite integrar sistemas como GitHub Pages, GitHub Releases, npm o incluso registros OCI como almacenes de Nix. El texto detalla cómo se puede utilizar npm como un almacén de Nix mediante la publicación de un paquete que contiene la estructura de archivos necesaria, permitiendo a Nix descargar dependencias directamente desde el registro de npm. Además, se mencionan experimentos con almacenamiento en bases de datos Git, registros DNS y pastebins, demostrando la flexibilidad del sistema. La clave es que Nix no confía en el transporte, sino en la integridad criptográfica de los datos, lo que permite una gran variedad de medios de distribución para paquetes de software.