NixOS 25.11 Xantusia: все новые функции и ключевые изменения

  • NixOS 25.11 «Xantusia» обновляет тысячи пакетов, модулей и опций, уделяя особое внимание чистоте и безопасности.
  • Рабочий стол делает шаг вперед с GNOME 49 и обновлениями набора инструментов, такими как LLVM 21, CMake 4 и новыми языковыми версиями.
  • В базы данных, контейнеры и службы вносятся многочисленные несовместимые изменения, требующие пересмотра существующих конфигураций.
  • Многие приложения переименовываются или прекращают работу в пользу более современных альтернатив, что подталкивает экосистему к поддерживаемому и безопасному программному обеспечению.

НикОС 25.11

NixOS возвращается с: НикОС 25.11, версия, которая приносит очень глубокие изменения как в самой системе, так и в обширной экосистеме пакетов, её окружающих. Кодовое название «Xantusia» уже доступно. Он предлагает интересные новые функции для настольных компьютеров, серверов, разработки и облачных сред, но также содержит немало несовместимостей и устаревших пакетов, которые следует внимательно изучить перед обновлением.

В этой статье мы увидим Все важные новости В NixOS 25.11 и пакетной базе Nixpkgs: ключевые обновления, такие как GNOME 49, LLVM 21 и ROCm 6.3; значительные изменения в Go, Rust, Node.js, PostgreSQL и Docker; переименованные сервисы; новые модули; и дополнительные параметры конфигурации. Мы также обсудим реальный пример, связанный с проблемами прокси-сервера при компиляции Discord, и способы их решения в новой среде.

NixOS 25.11 «Xantusia»: жизненный цикл и данные о запуске

Новая стабильная версия, NixOS 25.11 «Xantusia»Теперь его можно установить и обновить на любой системе, используя стабильные каналы. Эта версия будет получать обновления безопасности и исправления ошибок в течение семи месяцев, до 30 июня 2026 года, поэтому это новое рекомендуемое обновление для тех, кто переходит с предыдущей версии.

Предыдущая стабильная версия, NixOS 25.05 «Warbler», официально становится устаревшей и перестанет получать обновления безопасности с 31 декабря 2025 года. Если вы все еще используете 25.05 или даже более старую ветку, сейчас самое время спокойно спланировать миграцию на 25.11, просмотрев несовместимые изменения, которые мы подробно опишем в этом тексте.

Этот запуск также является демонстрацией скорость развития проекта. В период с NixOS 25.05 по NixOS 25.11 в проекте приняли участие 2742 участника, которые в совокупности подписали не менее 59 430 коммитов по Nixpacks и конфигурации системы. За этими цифрами скрывается всё: от небольших исправлений и второстепенных пакетов до серьёзных переработок критически важных модулей дистрибутива.

Nixpkgs: пакеты, добавленные, обновленные и удаленные из NixOS 25.11

Коллекция пакетов Nixpkgs, которая является позвоночник Не только NixOS, но и любая система, использующая менеджер пакетов Nix в Linux или macOS, получила в этом цикле масштабное обновление.

С одной стороны, были Добавлено 7002 новых пакетаДальнейшее расширение спектра доступного программного обеспечения. Оно включает в себя всё: от передовых инструментов разработки до настольных приложений, утилит управления и научного ПО.

В то же время команда имеет Обновлено 25 252 существующих пакетов.Это гарантирует обновление большинства популярных программ до последних версий, особенно с исправлениями безопасности и улучшениями производительности. Это критически важно в средах, где важна воспроизводимость и поддержание актуальности.

Чтобы сохранить хранилище управляемым и безопасным, Nixpkgs Удалено 6338 старых пакетов которые больше не поддерживаются, были повреждены или устарели. Во многих случаях прямые альтернативы существуют в самом дереве Nixpkgs, но в других случаях они просто недоступны во избежание проблем безопасности или компиляции.

Модули NixOS и параметры конфигурации

Помимо пакетов, NixOS отличается мощной системой декларативных модулей. Этот цикл включает в себя Включено 107 новых модулейЭти обновления добавляют поддержку новых служб, демонов, приложений и конфигураций системы. Они также добавляют 1778 новых параметров конфигурации, что ещё больше повышает детализацию описания системы.

С другой стороны, были удалено 41 модуль и параметры конфигурации 807, которые устарели, не работают или были заменены более современными альтернативами. Если вы повторно используете старые конфигурации, рекомендуется ознакомиться с уведомлениями об устаревании, чтобы адаптировать файлы перед обновлением.

Важные новые функции рабочего стола: GNOME 49 «Brescia»

Одной из крупных новых функций для пользователей настольных компьютеров является обновление GNOME 49 «Брешиа»Эта версия среды рабочего стола делает решительный шаг в сторону Wayland и устраняет сеанс на базе X11, что может оказаться существенным изменением, если вы сохранили старые конфигурации или расширения, которые явно зависели от Xorg.

GNOME 49 включает в себя Новые приложения В число этих изменений входят обновлённый видеоплеер и обновлённый просмотрщик документов, а также переработанный календарь и множество небольших улучшений пользовательского интерфейса. Если вы используете какие-либо узкоспециализированные функции или сложные расширения, рекомендуем ознакомиться с официальными заметками о выпуске GNOME.

Компиляторы C и наборы инструментов: LLVM, GCC и CMake

В разделе компиляции обновления NixOS 25.11 LLVM до версии 21Это значительный шаг вперёд для разработчиков, использующих C, C++ или Rust с набором инструментов Clang. Эта версия включает в себя улучшения оптимизации, новые поддерживаемые цели и исправления предупреждений, которые могут привести к изменению поведения в некоторых проектах.

компилятор GCC остается в филиале 14Эта версия уже установлена ​​и протестирована в рабочей среде. Это упрощает поддержание совместимости с проектами, которые всё ещё зависят от этого семейства компиляторов, избегая разрушительных изменений при каждом обновлении системы.

Со своей стороны, CMake обновлен до версии 4Это может позволить реализовать новые функции в современных системах сборки, но также может потребовать корректировки проектов, использующих устаревший синтаксис или команды. Если у вас старые шаблоны CMake, рекомендуется провести тестирование сборки перед завершением миграции.

GPU, вычисления и изменения в ROCm и CUDA

Для тех, кто работает с ускорением GPU, ветка rocmPackages_6 обновление до ROCm 6.3В то время как rocmPackages_5 Он удалён из дерева. Некоторые части реструктурированы: rocmPackages.rocm-thunk Он исчезает как отдельный пакет и интегрируется в rocmPackages.clr, y rocmPackages.clang-ocl Он уходит на пенсию после того, как в 2023 году его покинула AMD.

В параллели, Официальная поддержка CUDA 10 прекращенаКак уже упоминалось в примечаниях к выпуску NixOS 24.11, пользователям, которые все еще поддерживают очень старое оборудование, следует рассмотреть возможность обновления своих графических процессоров или проверки наличия поддерживаемых альтернатив от других производителей или бэкэндов.

Браузер, прокси и проблемы компиляции Discord

Одна практическая проблема, которая выявилась в этой версии, заключается в том, что использование прокси во время компиляцииПользователь описывает, как можно успешно загрузить файл. discord-0.0.116.tar.gz из браузера с использованием корпоративного прокси, но при запуске nixos-rebuild Загрузка с помощью curl постоянно прерывается из-за ошибки curl: (35) Recv failure: Connection reset by peer пока не будут исчерпаны все попытки.

Сообщение об ошибке Nix указывает на то, что Не удалось загрузить tar-архив Discord. из-за отсутствия зеркала, тем самым нарушая вывод discord-0.0.116.tar.gz.drv и, в свою очередь, создание пользовательской среды и всей системы в целом. Хотя в журнале есть предупреждения об автоматических повторных попытках, такие переменные, как https_proxy o all_proxyЭто говорит о том, что среда выполнения в изолированной программной среде сборки не видит конфигурацию сети пользователя.

В NixOS, стандартные переменные среды прокси Они могут не распространяться напрямую в форки, если используется строгая песочница или если конфигурация системы не экспортирует их в сборки. Типичное решение заключается в настройке параметров Nix следующим образом: nix.extraOptions включать http_proxy, https_proxy и компании, или временно отключить «песочницу» для этой машины (не рекомендуется на длительный срок), пока настраиваете прокси-сервер так, чтобы он разрешал трафик с IP-адреса застройщика.

Другой вариант — прибегнуть к двоичные кэши, которые уже содержат Discord или других проблемных пакетов, что избавляет Nix от необходимости загружать исходные файлы напрямую. В любом случае, подобные сетевые ошибки становятся более актуальными в версии 25.11, которая одновременно перемещает множество компонентов и может приводить к различным последствиям при разрешении URL.

Сеть, контейнеры и веб-сервисы

В области сетей и контейнеров NixOS 25.11 вносит существенные изменения. Обновление HTTP-прокси Squid до версии 7В этом выпуске содержится несколько несовместимых изменений, таких как удаление функциональности ESI. Чтобы изменить пользовательские настройки, рекомендуется ознакомиться с заметками о выпуске Squid.

На уровне оркестровки, containerd обновляет свою ветку 2.xЭто влечёт за собой ряд изменений в поведении. Независимо от того, используете ли вы containerd напрямую или как компонент платформы, крайне важно ознакомиться с документацией containerd 2.0, чтобы избежать неприятных сюрпризов в процессе эксплуатации.

В мире Докера, docker_24 удален из дерева поскольку он больше не поддерживается и имеет известные уязвимости с июня 2024 года. Идея состоит в том, чтобы перенести установки на более новые и поддерживаемые версии Docker.

Что касается серверов и панелей управления, NetBox обновлен до версии 4.2со значительными изменениями на уровне схемы и поведения. Версия 4.0.x удалена из дерева, и пользователям рекомендуется следить за уведомлениями об обновлениях 4.1 и 4.2 перед обновлением. Другие службы, такие как Matomo Они переходят на использование версии 5 по умолчанию (версия 4 больше не поддерживается), и пакет удаляется. matomo-beta поскольку теперь легко перезаписать версию с overrideAttrs.

Кафка также делает значительный скачок: Apache Kafka обновлен до версии 4.0который больше не поддерживает ZooKeeper. Все установки необходимо перевести в режим KRaft в соответствии с рекомендациями Apache Foundation. В NixOS это включает в себя проверку конфигураций для удаления ссылок на ZooKeeper и адаптацию развёртываний брокера.

Службы, демоны и приложения, которые изменяются или исчезают в NixOS 25.11

Список Пакеты и службы, которые переименованы, несовместимо обновлены или прекращены Этот цикл очень длинный, что является признаком готовности очистить дерево от старого или проблемного программного обеспечения.

Некоторые примечательные примеры: гкракен Он исчезает и его рекомендуется использовать coolercontrol как альтернатива; opensmtpd-extras Он удаляется, поскольку несовместим с OpenSMTPD 7.6.0+, уступая место определенным пакетам. opensmtpd-table-*; заммад Он прекращает поддержку MySQL и заставляет пользователей перейти на PostgreSQL, следуя официальному руководству.

В мире имён, Minetest теперь называется Luanti для отражения изменений в исходном потоке, но псевдонимы сохраняются, чтобы избежать немедленных сбоев. Аналогично, изменения poac в cabpkg, xdragon становится драконьим дропомxdragon (как псевдоним) и siduck76-st он переименован в st-snazzyЕсть также маленькие буквы: шрифт серьезно-без Он отзывается, потому что разработчик изменил название на Serious Shanns, и он все еще не упакован.

Остальные проекты просто архивируются: gkraken, ephemeral, vocal, fluxus, sm64ex-coop, nexusmods-app, nodePackages.ganache И многие другие отмечены как сломанные, неподдерживаемые или небезопасные и удалены из Nixpacks. В некоторых случаях предлагается альтернатива (например, sm64coopdx заменить sm64ex-coop, или gnome-podcasts y kasts для замены гласной).

В среде обмена сообщениями и конфиденциальности пакеты signald, signaldctl и purple-signald Их поддержка прекращается из-за длительной несовместимости с официальными серверами Signal и сервером Matrix. трубопровод Он отмечен как уязвимый после того, как его поддержка была прекращена разработчиками.

Новые версии и изменения поведения популярных приложений

Помимо исчезновений, многие приложения обновляются с помощью изменения в поведении, которые нарушают совместимость, Так, например, Grafana Agent и его модуль Они уходят со сцены в пользу Grafana Alloy, у которой уже есть собственный сервис. services.alloyGrafana рекомендует перейти на grafana-alloy и предоставляет документацию для завершения передачи.

Экосистема мониторов и панелей также развивается: Prometheus переходит на ветку 3.xс официальными миграционными заметками, в то время как kanata, authelia, helmfile, open-policy-agent и многие другие пакеты обновлены до основных версий с изменениями в синтаксисе, форматах конфигурации и значениях по умолчанию. В частности, OPA делает rego.v1 теперь является стилем по умолчанию, отмечая синтаксис v0 как унаследованный, хотя режим совместимости все еще существует.

Мир настольных компьютеров не сильно отстает: GIMP 3.0 выглядит как gimp3, Клубника обновлена ​​до серии 1.2 и отказывается от бэкэнда VLC и Qt5 (пакет исчезает) strawberry-qt5 и некоторые варианты с GStreamer/VLC), rofi Он переходит с версии 1.7.5 на 1.7.6 с изменениями ABI в бинарных плагинах, и тауон 7.9.0+ Ваша база данных переносится на схему, несовместимую с предыдущими версиями, поэтому рекомендуется сделать резервную копию. ~/.local/share/TauonMusicBox перед открытием новой версии.

В области веб-разработки и JavaScript, nodejs_latest развивается до серии 24.x, устраняются nodejs_23 y nodejs_18и очищает пакеты Node, которые никогда не должны были быть глобальными (например, webpack-dev-server, copy-webpack-plugin, expo-cli o create-react-native-app), с рекомендацией установить их на уровне проекта. Такие инструменты, как pnpm переходит на версию 10 с вторичным пакетом pnpm_9 для тех, кому нужна совместимость.

Также внесены изменения в шрифты: nerdfonts разделен на отдельные пакеты в пространстве имен nerd-fonts и пути установки шрифтов изменились, теперь они сортируются по типу шрифта (<fontDirName>Это заставляет нас адаптировать конфигурации, указывающие на старые маршруты.

Изменения в ядре, оборудовании и системной среде

На системном уровне он заброшен полная поддержка 32-битного DarwinПоддерживает только современные платформы. Кроме того, тройная конфигурация aarch64-darwin соответствует arm64-apple-darwin, что соответствует ожиданиям Apple и LLVM.

Эль Пакет крошечный Затем он разделяет выходные данные на dev, doc y lib, Изготовление tinycc.out Он содержит только двоичные файлы tcc и кросс-компиляторы. В TPM, tpm2-pkcs11 Компилируется без поддержки abrmd По умолчанию он отдает приоритет менеджеру ресурсов ядра; если вам нужен вариант с abrmd, он существует. tpm2-pkcs11.abrmdи модуль NixOS автоматически выбирает в соответствии с security.tpm2.abrmd.

В udev правила libjaylink Теперь они требуют принадлежности к группе. jlink вместо plugdevВ NixOS это было крайне необычно. Доступ также разрешён через сеансы работы с рабочим столом, поэтому при использовании стандартного рабочего стола влияние будет ограничено.

реквизит mkBinaryCache Он модернизируется и начинает использовать zstd как сжатие по умолчанию

Для сгенерированных двоичных кэшейВозможность продолжения остается открытой. xz через compression = "xz";В большинстве случаев это повышает производительность генерации и потребления двоичных файлов.

В параметрах сети, networking.nat.externalIP и externalIPv6 меняют свое поведение: правила networking.nat.forwardPorts Эти правила теперь применяются только к пакетам, предназначенным для явно указанных IP-адресов. Это предотвращает неожиданные перенаправления, но может потребовать корректировки существующих определений NAT.

В управлении файловой системой определения Файловые системы (например, fileSystems."/") устанавливаются с помощью lib.mkDefault из модулей NixOS, что позволяет заменить их все сразу, но приводит к ошибкам, если перезаписываются только отдельные атрибуты без указания deviceВ противном случае вы можете столкнуться с сообщениями типа No device specified for mount point '/'.

Редактирование текста, среды разработки и различные утилиты NixOS 25.11

Во вселенной Emacs, NixOS 25.11 Удалить Emacs 28 и 29Включены как стандартная версия, так и версия Macport для Emacs 28. Издание Emacs 29 для Macport поддерживается, но с исправлениями известных уязвимостей. Racket также подвергается сокращению: racket_7_9 снят из-за небезопасностиподталкивая к использованию Racket 8 и тем самым устраняя Флуксус, которая годами полагалась на эту неподдерживаемую версию.

Текстовый поисковик бинволк 3.1.0 Он переписывается на Rust, и связанный с ним модуль Python становится недоступным; инструмент для работы с личными аккаунтами python3Packages.beancount Он повышается до 3.1, при этом предыдущая серия сохраняется на прежнем уровне. beancount_2В электронной почте и CLI, tldr Он переключается на использование клиента Python вместо C и Гималаи Он обновлен до версии 1.1.0 с новаторскими изменениями, требующими пересмотра конфигурации.

В различных инструментах, nq 1.0 переименовывает fq и tq в nqtail и nqterm, цф 0.10.2 Он изменяет способ обработки Unicode и управляющих последовательностей, а также ast-grep удалить команду sg чтобы избежать конфликтов с shadow-utils, в то же время позволяя использовать устаревшую версию совместимости через enableLegacySg = true;.

В то же время семейство стандартных логарифмических функций nixLog* Он переписан с добавлением префикса уровня отладки и имени вызывающей функции, что заново вводит nixLog как безусловный логгер, который также добавляет контекст функции. Это упрощает отладку сложных выводов и перехватов.

Наконец, некоторые тестовые утилиты, такие как testers.shellcheck Теперь они предупреждают, если атрибут не указан. nameкоторый станет обязательным в будущих версиях. А в Хаскеле, testTarget помечен как устаревший в пользу testTargets, который принимает явный список целей вместо строки, разделенной пробелами.

Таким образом, версия NixOS 25.11 объединяет огромное количество изменений, от рабочего стола GNOME 49 и масштабных обновлений пакетов до глубоких корректировок в цепочках инструментов, сетевых службах и политиках совместимости, что делает ее ключевым релизом для тех, кто хочет поддерживать свою среду Nix в актуальном состоянии, не упуская из виду стабильность и воспроизводимость которые характеризуют проект.

НикОС 24.11
Теме статьи:
Все, что вам нужно знать о долгожданном релизе NixOS 24.11