Foi lançado o distribuidor NixOS 22.05, baseado no gerenciador de pacotes Nix, que oferece uma série de desenvolvimentos próprios que facilitam a configuração e manutenção do sistema. Por exemplo, no NixOS, toda a configuração do sistema é feita através de um único arquivo de configuração do sistema (configuration.nix), há a possibilidade de reverter rapidamente o sistema para uma versão anterior da configuração, suporta a alternância entre diferentes estados do sistema, possibilita a instalação de pacotes individuais por usuários distintos e permite o uso simultâneo de várias versões de um mesmo programa, garantindo construções reproduzíveis. O tamanho da imagem de instalação completa com KDE é de 1,7 GB, GNOME — 2,2 GB, e a versão reduzida para console — 820 MB.
Principais novidades:
- Para facilitar a instalação do distribuidor, foi proposto um instalador gráfico, baseado no framework Calamares, que é utilizado para criar instaladores em projetos como Manjaro, Sabayon, Chakra, NetRunner, KaOS, OpenMandriva e KDE neon. O novo instalador vem por padrão nas imagens iso com GNOME e KDE.

- Adicionados 9345 pacotes, removidos 5874 pacotes, atualizados 10666 pacotes. As versões dos pacotes foram atualizadas, incluindo GNOME 42, systemd 250, PHP 8.1, Pulseaudio 15, PostgreSQL 14.
- Mais de 89 novos serviços foram adicionados, entre os quais aesmd (Gerenciador de Serviço de Enclave Arquitetônico Intel SGX), Docker sem root (para executar Docker sem privilégios de root), matrix-conduit (servidor matrix), apfs (Apple File System), FRRouting (implementação de protocolos de roteamento), snowflake-proxy (proxy para contornar a censura de tráfego), pgadmin4 (GUI para gerenciamento do PostgreSQL), moosefs (FS distribuído), nbd (Dispositivo de Bloco de Rede). Removidos 27 serviços, principalmente com filiais de software obsoletas ou dependentes do Python2.
- O gerenciador de pacotes Nix foi atualizado para a versão 2.8, que oferece suporte a recursos experimentais ativáveis separadamente (flake). Por exemplo, foi adicionando o comando experimental 'nix fmt' para conectar manipuladores de formatação de saída e um modo experimental 'impure' para gerar caminhos de destino distintos a cada construção. Para várias opções, foi fornecido suporte para carregar conteúdo de um fluxo de entrada (por exemplo, '--file -').
- O pacote com o navegador Firefox para a arquitetura x86_64 foi compilado com otimizações baseadas nos resultados da profilagem de código (PGO) para aumentar o desempenho.
- Foi adicionado o manipulador security.acme.defaults para simplificar a configuração de aquisição certificados TLS.
Ao utilizar o Nix, o resultado da construção dos pacotes é armazenado em um diretório separado em /nix/store. Por exemplo, após a construção, o pacote firefox pode ser gravado em /nix/store/1onlv2pc3ez4n5nskg6ew7twcfd0c5cecec5d4-firefox-100.0.1/, onde "1onlv2pc3ez4n5nskg6ew7twcfd0c5cecec5d4" é o hash de todas as suas dependências e instruções de construção. A instalação do pacote envolve sua construção ou download de uma versão já construída (desde que tenha sido compilado anteriormente no Hydra — serviço de construção do projeto NixOS), assim como a formação de um diretório com links simbólicos para todos os pacotes no perfil do sistema ou do usuário, e a inclusão subsequente desse diretório na lista PATH. Uma abordagem semelhante é empregada no gerenciador de pacotes GNU Guix, que é baseado nas inovações do Nix. A coleção de pacotes é apresentada em um repositório especial chamado Nixpkgs.
Fonte: opennet.ru

