Se ha lanzado la distribución NixOS 22.05, basada en el gestor de paquetes Nix y que proporciona una serie de desarrollos propios que simplifican la configuración y el mantenimiento del sistema. Por ejemplo, en NixOS, toda la configuración del sistema se realiza a través de un único archivo de configuración del sistema (configuration.nix), se ofrece la posibilidad de revertir rápidamente el sistema a una versión anterior de la configuración, se admite el cambio entre diferentes estados del sistema, se permite la instalación de paquetes individuales por usuarios separados, y hay posibilidad de usar múltiples versiones de un mismo programa simultáneamente, garantizando compilaciones reproducibles. El tamaño de la imagen de instalación completa con KDE es de 1.7 GB, GNOME — 2.2 GB, y la versión reducida de consola — 820 MB.
Novedades principales:
- Para simplificar la instalación de la distribución, se ha propuesto un instalador gráfico basado en el marco Calamares, utilizado para crear instaladores en proyectos como Manjaro, Sabayon, Chakra, NetRunner, KaOS, OpenMandriva y KDE neon. El nuevo instalador se incluye por defecto en las imágenes ISO de GNOME y KDE.

- Se han añadido 9345 paquetes, se han eliminado 5874 paquetes, se han actualizado 10666 paquetes. Se han actualizado las versiones de los paquetes, incluyendo GNOME 42, systemd 250, PHP 8.1, Pulseaudio 15, PostgreSQL 14.
- Se han agregado más de 89 nuevos servicios, entre los cuales se encuentran aesmd (Intel SGX Architectural Enclave Service Manager), Docker sin root (para ejecutar Docker sin privilegios de root), matrix-conduit (servidor matrix), apfs (Apple File System), FRRouting (implementación de protocolos de enrutamiento), snowflake-proxy (proxy para eludir la censura del tráfico), pgadmin4 (GUI para gestionar PostgreSQL), moosefs (sistema de archivos distribuido), nbd (Network Block Device). Se han eliminado 27 servicios, principalmente aquellos con ramas de programas obsoletos o que dependían de Python2.
- El gestor de paquetes Nix se ha actualizado a la versión 2.8, que ofrece soporte para funciones experimentales activables de forma independiente (flake). Por ejemplo, se ha añadido el comando experimental 'nix fmt' para conectar controladores de formato de salida y un modo experimental 'impure' para generar rutas de contenido que cambian en cada compilación. Se ofrece soporte para cargar contenido desde un flujo de entrada (por ejemplo, '--file -').
- El paquete del navegador Firefox para la arquitectura x86_64 se ha compilado con optimizaciones basadas en los resultados de perfilado de código (PGO) para mejorar el rendimiento.
- Se añadió un controlador security.acme.defaults para simplificar la configuración de obtención. de certificados TLS.
Al usar Nix, el resultado de la construcción de paquetes se almacena en un subdirectorio separado en /nix/store. Por ejemplo, después de construir el paquete firefox, puede escribirse en /nix/store/1onlv2pc3ez4n5nskg6ew7twcfd0c5cecec5d4-firefox-100.0.1/, donde «1onlv2pc3ez4n5nskg6ew7twcfd0c5cecec5d4» es el hash de todas sus dependencias e instrucciones de construcción. La instalación del paquete implica su construcción o descarga ya compilada (siempre que ya haya sido compilada en Hydra — el servicio de construcción del proyecto NixOS), así como la creación de un directorio con enlaces simbólicos a todos los paquetes en el perfil del sistema o del usuario, añadiendo posteriormente este directorio a la lista de PATH. En el gestor de paquetes GNU Guix, que se basa en las innovaciones de Nix, se aplica un enfoque similar. La colección de paquetes se presenta en un repositorio especial llamado Nixpkgs.
Fuente: opennet.ru

