NixOS 25.11 Xantusia: todas as novas funcionalidades e principais alterações

  • O NixOS 25.11 “Xantusia” renova milhares de pacotes, módulos e opções com um forte foco em limpeza e segurança.
  • O ambiente de trabalho dá um grande salto com o GNOME 49 e atualizações do conjunto de ferramentas, como LLVM 21, CMake 4 e novas versões de linguagem.
  • Inúmeras alterações incompatíveis estão sendo introduzidas em bancos de dados, contêineres e serviços, exigindo uma revisão das configurações existentes.
  • Muitos aplicativos estão sendo renomeados ou descontinuados em favor de alternativas mais modernas, impulsionando o ecossistema em direção a softwares seguros e com manutenção constante.

Nix OS 25.11

O NixOS está de volta com, Nix OS 25.11, uma versão que traz mudanças muito profundas tanto no próprio sistema quanto no vasto ecossistema de pacotes que o envolve. Com o codinome "Xantusia", já está disponível e vem repleto de novos recursos interessantes para desktops, servidores, desenvolvimento e implantações em nuvem, mas também com um número considerável de incompatibilidades e pacotes obsoletos que devem ser cuidadosamente revisados ​​antes da atualização.

Neste artigo veremos Todas as notícias importantes A partir do NixOS 25.11 e da base de pacotes Nixpkgs: atualizações importantes como GNOME 49, LLVM 21 e ROCm 6.3; mudanças significativas em Go, Rust, Node.js, PostgreSQL e Docker; serviços renomeados; novos módulos; e opções de configuração adicionais. Também discutiremos um estudo de caso real envolvendo problemas de proxy ao compilar o Discord e como resolvê-los neste novo ambiente.

NixOS 25.11 “Xantusia”: números do ciclo de vida e lançamento

A nova versão estável, NixOS 25.11 “Xantusia”Agora ele pode ser instalado e atualizado em qualquer sistema usando os canais estáveis. Esta edição receberá patches de segurança e correções de bugs por sete meses, até 30 de junho de 2026, sendo, portanto, a nova atualização recomendada para quem está migrando de uma versão anterior.

O estável anterior, NixOS 25.05 “Warbler”A versão 25.05 torna-se oficialmente obsoleta e deixará de receber atualizações de segurança a partir de 31 de dezembro de 2025. Se você ainda estiver na versão 25.05 ou em uma versão ainda mais antiga, é um bom momento para planejar com calma sua migração para a versão 25.11, revisando as alterações incompatíveis que detalharemos ao longo deste texto.

Este lançamento também serve como vitrine para taxa de desenvolvimento do projeto. Entre o NixOS 25.05 e o NixOS 25.11, 2742 colaboradores participaram, assinando coletivamente nada menos que 59.430 commits para o Nixpacks e a configuração do sistema. Por trás desses números, estão desde pequenas correções em pacotes marginais até grandes reformulações de módulos críticos da distribuição.

Nixpkgs: Pacotes adicionados, atualizados e removidos do NixOS 25.11

A coleção de pacotes Nixpkgs, que é a coluna vertebral Não apenas o NixOS, mas qualquer sistema que utilize o gerenciador de pacotes Nix no Linux ou macOS recebeu manutenção massiva neste ciclo.

Por um lado, houve 7002 novos pacotes adicionadosAmpliar ainda mais a gama de software disponível. Isso inclui desde ferramentas de desenvolvimento de ponta até aplicativos para desktop, utilitários de gerenciamento e software científico.

Ao mesmo tempo, a equipe tem Atualizamos 25.252 pacotes existentes.Isso garante que a maioria dos softwares populares seja atualizada para as versões mais recentes, especialmente aquelas com correções de segurança e melhorias de desempenho. Isso é crucial em ambientes onde a reprodutibilidade é essencial, mantendo ao mesmo tempo um nível razoável de atualização.

Para manter o repositório gerenciável e seguro, o Nixpkgs possui 6338 pacotes antigos removidos que não recebiam mais manutenção, estavam quebradas ou haviam se tornado obsoletas em versões anteriores. Em muitos casos, existem alternativas diretas dentro da própria árvore do Nixpkgs, mas em outros, elas simplesmente são tornadas indisponíveis para evitar problemas de segurança ou compilação.

Módulos e opções de configuração do NixOS

Além de seus pacotes, o NixOS se destaca por seu poderoso sistema de módulos declarativos. Este ciclo incluiu 107 novos módulos incorporadosEssas atualizações adicionam suporte para novos serviços, daemons, aplicativos e configurações de sistema. Elas também trazem 1778 novas opções de configuração, aumentando ainda mais a granularidade com que um sistema pode ser descrito.

Por outro lado, houve 41 módulos removidos e 807 opções de configuração que se tornaram obsoletas, apresentaram problemas ou foram substituídas por alternativas mais modernas. Se você reutiliza configurações antigas, é uma boa ideia revisar os avisos de obsolescência para adaptar seus arquivos antes de atualizar.

Novidades notáveis ​​na área de trabalho: GNOME 49 “Brescia”

Uma das grandes novidades para usuários de desktop é a atualização para GNOME 49 “Brescia”Esta versão do ambiente de desktop dá um passo decisivo em direção ao Wayland e elimina a sessão baseada em X11, o que pode ser uma mudança significativa se você mantiver configurações ou extensões antigas que dependam explicitamente do Xorg.

O GNOME 49 incorpora Novos aplicativos Isso inclui um reprodutor de vídeo reformulado e um visualizador de documentos atualizado, além de um calendário redesenhado e diversas pequenas melhorias na experiência do usuário. É recomendável consultar as notas de lançamento oficiais do GNOME caso você dependa de alguma funcionalidade muito específica ou de extensões complexas.

Compiladores e conjuntos de ferramentas C: LLVM, GCC e CMake

Na seção de compilação, atualizações do NixOS 25.11 LLVM para a versão 21Este é um avanço significativo para desenvolvedores que usam C, C++ ou Rust com o conjunto de ferramentas Clang. Esta versão inclui melhorias de otimização, novos objetivos suportados e ajustes em avisos que podem causar alterações de comportamento em alguns projetos.

o compilador O GCC permanece no ramo 14.Esta é uma versão já estabelecida e testada em produção. Isso facilita a manutenção da compatibilidade com projetos que ainda dependem dessa família de compiladores, sem a necessidade de alterações disruptivas a cada atualização do sistema.

Por sua parte, o O CMake foi atualizado para a versão 4.Isso pode habilitar novos recursos em sistemas de compilação modernos, mas também pode exigir ajustes em projetos que usavam sintaxe ou comandos desatualizados. Se você tiver modelos CMake antigos, é uma boa ideia executar testes de compilação antes de finalizar a migração.

GPU, computação e mudanças no ROCm e CUDA

Para quem trabalha com aceleração por GPU, o ramo Atualização do pacote rocmPackages_6 para ROCm 6.3Enquanto rocmPackages_5 Foi removido da árvore. Algumas partes foram reestruturadas: rocmPackages.rocm-thunk Ele desaparece como um pacote separado e é integrado ao rocmPackages.clre rocmPackages.clang-ocl Ele está se aposentando após ter sido abandonado pela AMD em 2023.

Em paralelo, O suporte oficial para CUDA 10 foi perdido.Conforme já mencionado nas notas de lançamento do NixOS 24.11, os usuários que ainda utilizam hardware muito antigo devem considerar a possibilidade de atualizar sua GPU ou verificar se existem alternativas com suporte de outros fabricantes ou backends.

Navegador, proxies e problemas ao compilar o Discord

Uma questão prática que veio à tona com esta versão é a uso de proxies durante compilaçõesUm usuário descreve como conseguiu baixar o arquivo com sucesso. discord-0.0.116.tar.gz a partir do navegador usando o proxy corporativo, mas ao executar nixos-rebuild O download com curl falha repetidamente com um erro. curl: (35) Recv failure: Connection reset by peer até que todas as tentativas se esgotem.

A mensagem de erro do Nix indica que Não foi possível baixar o arquivo tar do Discord. sem espelho, quebrando assim a derivação. discord-0.0.116.tar.gz.drv e, por sua vez, a construção do ambiente do usuário e do sistema completo. Embora o registro mostre avisos de novas tentativas automáticas, variáveis ​​como https_proxy o all_proxyIsso sugere que o ambiente de execução dentro do sandbox de compilação não está reconhecendo a configuração de rede do usuário.

No NixOS, o variáveis ​​de ambiente proxy padrão Elas podem não se propagar diretamente para forks se o isolamento estrito for usado ou se a configuração do sistema não as exportar para as compilações. A solução típica envolve configurar as opções do Nix como nix.extraOptions incluir http_proxy, https_proxy e empresa, ou desativar temporariamente o sandbox para essa máquina (não recomendado a longo prazo) enquanto ajusta o servidor proxy para permitir o tráfego do IP do desenvolvedor.

Outra opção é recorrer a caches binários que já contêm o Discord ou outros pacotes problemáticos, impedindo assim que o Nix tenha que baixar os arquivos de origem diretamente. De qualquer forma, esses tipos de erros de rede tornam-se mais relevantes em uma versão como a 25.11, que movimenta tantas coisas ao mesmo tempo e pode trazer comportamentos diferentes na forma como os URLs são resolvidos.

Rede, contêineres e serviços web

Na área de redes e contêineres, o NixOS 25.11 introduz mudanças significativas. O proxy HTTP Squid foi atualizado para a versão 7.Esta edição inclui diversas alterações incompatíveis, como a remoção da funcionalidade ESI. Para ajustes nas suas configurações personalizadas, recomenda-se consultar as notas de lançamento do Squid.

No nível de orquestração, O containerd foi atualizado para sua versão 2.x.Isso acarreta uma série de mudanças de comportamento. Seja você um usuário que utiliza o containerd diretamente ou como componente de uma plataforma, é essencial revisar a documentação do containerd 2.0 para evitar surpresas em produção.

No mundo Docker, docker_24 foi removido da árvore. porque não recebe mais suporte e apresenta vulnerabilidades conhecidas desde junho de 2024. A ideia é migrar as instalações para versões mais recentes e com suporte do Docker.

Com relação a servidores e painéis de controle, O NetBox foi atualizado para a versão 4.2.Com mudanças significativas nos níveis de esquema e comportamento. A versão 4.0.x foi removida da árvore e os usuários são aconselhados a acompanhar as notificações para atualizações das versões 4.1 e 4.2 antes de atualizar. Outros serviços, como matomo Eles passam a usar a versão 5 por padrão (a versão 4 não é mais suportada) e o pacote é removido. matomo-beta já que agora é fácil sobrescrever a versão de overrideAttrs.

Kafka também dá um salto significativo: O Apache Kafka foi atualizado para a versão 4.0.que não oferece mais suporte ao ZooKeeper. Todas as instalações devem ser migradas para o modo KRaft, seguindo as diretrizes da Apache Foundation. No NixOS, isso envolve a revisão das configurações para remover referências ao ZooKeeper e a adaptação das implantações do broker.

Serviços, daemons e aplicativos que mudam ou desaparecem do NixOS 25.11

A lista de Pacotes e serviços que foram renomeados, atualizados de forma incompatível ou desativados. É um ciclo muito longo, o que demonstra a vontade de limpar a árvore de software antigo ou problemático.

Alguns exemplos notáveis: gkraken Ele desaparece e recomenda-se o uso. coolercontrol como alternativa; opensmtpd-extras Está sendo removido por não ser compatível com o OpenSMTPD 7.6.0+, dando lugar a pacotes específicos. opensmtpd-table-*; zammad Ele deixa de oferecer suporte ao MySQL e força os usuários a migrarem para o PostgreSQL seguindo o guia oficial.

No mundo dos nomes, Minetest agora se chama Luanti. para refletir a mudança a montante, mas aliases são mantidos para evitar interrupções imediatas. Da mesma forma, alterações de POAC para o pacote de cabine, xdragon se torna drop de dragão (Com xdragon (como um pseudônimo) e siduck76-st é renomeado para st-snazzyExistem também letras minúsculas: a fonte sério-sem Está sendo retirado do mercado porque o projeto original mudou o nome para Serious Shanns, que ainda não foi empacotado.

Outros projetos são simplesmente arquivados: gkraken, efêmero, vocal, fluxus, sm64ex-coop, nexusmods-app, nodePackages.ganache e muitos outros são marcados como quebrados, sem manutenção ou inseguros e removidos do Nixpacks. Em vários casos, uma alternativa é sugerida (por exemplo, sm64coopdx para substituir sm64ex-coop, ou gnome-podcasts y kasts para substituir uma vogal).

No contexto de mensagens e privacidade, os pacotes signald, signaldctl e sinal roxo Estão sendo descontinuados devido à incompatibilidade prolongada com os servidores oficiais do Signal e com o servidor Matrix. conduto Foi classificado como vulnerável após ter sido descontinuado pelos seus desenvolvedores.

Novas versões e mudanças de comportamento em aplicativos populares

Além dos desaparecimentos, muitos aplicativos são atualizados com mudanças comportamentais que quebram a compatibilidade. Por exemplo, Agente Grafana e seu módulo Eles estão saindo de cena em favor da Grafana Alloy, que já possui seu próprio serviço. services.alloyA Grafana recomenda migrar para grafana-alloy e fornece a documentação necessária para concluir a transferência.

O ecossistema de monitores e painéis também está evoluindo: Prometheus dá o salto para a versão 3.x.com notas oficiais de migração, enquanto kanata, authelia, helmfile, agente de política aberta e muitos outros pacotes são atualizados para versões principais com alterações na sintaxe, formatos de configuração e valores padrão. Em particular, o OPA torna rego.v1 agora é o estilo padrão., marcando a sintaxe v0 como herdada, embora ainda exista um modo de compatibilidade.

O mundo dos computadores desktop não está muito atrás: O GIMP 3.0 aparece como gimp3., O Strawberry foi atualizado para a série 1.2. e abandona o backend VLC e Qt5 (o pacote desaparece) strawberry-qt5 e algumas opções com GStreamer/VLC), rofi A atualização passa da versão 1.7.5 para a 1.7.6 com alterações na ABI dos plugins binários, e tauon 7.9.0+ Seu banco de dados está sendo migrado para um esquema incompatível com versões anteriores, portanto, é recomendável fazer um backup de ~/.local/share/TauonMusicBox antes de abrir a nova versão.

Na área de desenvolvimento web e JavaScript, nodejs_latest evolui para a série 24.x, são eliminados nodejs_23 y nodejs_18e limpa pacotes do Node que nunca deveriam ter sido globais (como webpack-dev-server, copy-webpack-plugin, expo-cli o create-react-native-app), com a recomendação de instalá-los no nível do projeto. Ferramentas como O pnpm passa para a versão 10. com um pacote secundário pnpm_9 Para quem precisa de compatibilidade.

Também foram feitas alterações nas fontes: O NerdFonts é dividido em pacotes individuais. sob o espaço de nomes nerd-fonts e os caminhos de instalação das fontes mudam, agora com diretórios por tipo de fonte (<fontDirName>Isso nos obriga a adaptar configurações que apontavam para as rotas antigas.

Alterações no kernel, hardware e ambiente do sistema

Em nível sistêmico, ele é abandonado. Suporte completo para Darwin de 32 bitsmantendo apenas plataformas modernas. Além disso, a configuração tripla de aarch64-darwin está em conformidade com arm64-apple-darwin, em consonância com as expectativas da Apple e do LLVM.

O pacote minúsculocc Em seguida, separa as saídas em dev, doc y lib, fazendo que tinycc.out Contém apenas os binários do tcc e os compiladores cruzados. No TPM, tpm2-pkcs11 Compila sem suporte para abrmd Por padrão, ele prioriza o gerenciador de recursos do kernel; se você precisar da variante com abrmd, ela existe. tpm2-pkcs11.abrmde o módulo NixOS escolhe automaticamente de acordo com security.tpm2.abrmd.

Em udev, as regras de libjaylink Agora eles exigem pertencer ao grupo. jlink em vez de plugdevIsso era muito incomum no NixOS. O acesso também é permitido por meio de sessões individuais, portanto o impacto é limitado se você usar uma área de trabalho padrão.

os adereços mkBinaryCache Ele é modernizado e começa a usar zstd como compressão padrão

Para os caches binários geradosA opção de continuar permanece em aberto. xz através compression = "xz";Isso melhora o desempenho na geração e no consumo de arquivos binários na maioria dos casos.

Nas opções de rede, networking.nat.externalIP e externalIPv6 alteram seu comportamento.: as regras de networking.nat.forwardPorts Essas regras agora se aplicam apenas a pacotes destinados a IPs explicitamente especificados. Isso evita redirecionamentos inesperados, mas pode exigir o ajuste das definições de NAT existentes.

Em gerenciamento de sistemas de arquivos, as definições Os sistemas de arquivos (como "/") são definidos usando lib.mkDefault. dos módulos NixOS, que permite substituí-los todos de uma vez, mas causa erros se apenas atributos individuais forem sobrescritos sem especificar deviceCaso contrário, você poderá se deparar com mensagens como No device specified for mount point '/'.

Edição de texto, ambientes de desenvolvimento e várias utilidades do NixOS 25.11

No universo Emacs, NixOS 25.11 Remova o Emacs 28 e 29.Estão incluídas tanto a versão padrão quanto a versão MacPort para Emacs 28. A edição MacPort do Emacs 29 continua sendo mantida, mas com correções para vulnerabilidades conhecidas. O Racket também passa por uma limpeza: racket_7_9 foi retirado devido a ser considerado inseguro.pressionando para usar o Racket 8 e, assim, eliminando fluxus, que vinha dependendo dessa versão sem manutenção há anos.

O mecanismo de busca de texto binwalk 3.1.0 Foi reescrito em Rust e o módulo Python associado tornou-se indisponível; a ferramenta de contas pessoais python3Packages.beancount Sobe para 3.1, mantendo-se a série anterior como beancount_2Em e-mail e CLI, tldr Ele passa a usar o cliente Python em vez de C, e Himalaia A atualização para a versão 1.1.0 traz mudanças inovadoras que exigem uma revisão da configuração.

Em diversas ferramentas, O nq 1.0 renomeia fq e tq para nqtail e nqterm., zf0.10.2 Isso altera a forma como lida com Unicode e sequências de escape, e ast-grep remover o comando sg para evitar conflitos com shadow-utils, permitindo ainda uma versão de compatibilidade legada. enableLegacySg = true;.

Ao mesmo tempo, a família de funções logarítmicas padrão. nixLog* Foi reescrito para prefixar o nível de depuração e o nome da função de chamada, reintroduzindo nixLog Como um registrador incondicional que também adiciona o contexto da função, isso facilita a depuração de derivações e ganchos complexos.

Por fim, algumas ferramentas de teste, como testadores.shellcheck Agora eles avisam se o atributo não for fornecido. nameque se tornará obrigatório em versões futuras. E em Haskell, testTarget está marcado como obsoleto em favor de testTargets, que aceita uma lista explícita de alvos em vez de uma string separada por espaços.

A versão 25.11 do NixOS consolida, portanto, um grande número de mudanças, desde o ambiente de desktop GNOME 49 e atualizações massivas de pacotes até ajustes profundos em toolchains, serviços de rede e políticas de compatibilidade, tornando-se uma versão essencial para quem deseja manter seu ambiente Nix atualizado sem perder de vista a... estabilidade e reprodutibilidade que caracterizam o projeto.

Nix OS 24.11
Artigo relacionado:
Tudo o que você precisa saber sobre o tão esperado lançamento do NixOS 24.11