Разработчиците на NixOS представиха версия NixOS 26.05 «Yarara» — нова стабилна версия на дистрибуцията, изградена около декларативната конфигурация на системата и пакетния мениджър Nix. Версията ще получава поправки на грешки и актуализации на сигурността до 31 декември 2026 година, а предишната версия NixOS 25.11 «Xantusia» е обявена за остаряла и ще достигне края на поддръжката 30 юни 2026 година.
В подготовката на изданието участваха 2842 разработчика, които внесоха 59 703 комита от предишното издание. В Nixpkgs добавени са 20 442 нови пакета, обновен 20 641 пакет, премахнати са 17 532 остарели пакета. В самия NixOS са добавени 85 нови модула и 1547 нови конфигурационни параметри.
Основни промени
Stage 1/initrd вече по подразбиране работи на systemd.
Ранната фаза на зареждането, отговаряща за подготовката на системата преди стартиране на основната ОС, е преведена на systemd. Старият скриптов вариант е обявен за остарял и е планиран за премахване в NixOS 26.11. Временно можно да се върнете към предишното поведение чрез boot.initrd.systemd.enable = false, но разработчиците не препоръчват този подход. За системите с LUKS дискове е описана особено нюансите на миграцията, включително правилното указване на /dev/mapper/ и промяна на поведението на запитването за паролна фраза.Добавен е system.nix като алтернативна точка за конфигурация.
Освен познатите configuration.nix и flake.nix, вече може да се използва system.nix. Това позволява конфигуриране на NixOS без nix-channel, например с явно закрепен архив Nixpkgs. По подразбиране файлът се търси като /etc/nixos/system.nix, но пътят може да бъде променен чрез , —file и —attr.Linux ядрото по подразбиране е обновено от 6.12 до 6.18.
При това останалите поддържани версии на ядрото остават достъпни, както и преди: потребителят може да избере необходимата версия чрез конфигурацията на NixOS.D-Bus по подразбиране е заменен с dbus-broker.
Вместо класическата реализация на dbus сега се използва dbus-broker, който е позициониран като по-ефективен и надежден, запазвайки съвместимост с еталонната реализация на D-Bus. Преключването на реализацията изисква рестартиране, тъй като безопасно да се рестартира D-Bus сред потребителската сесия не е възможно. При необходимост старата реализация може да бъде оставена чрез services.dbus.implementation = "dbus".Тестовият драйвер на NixOS получи backend на systemd-nspawn.
Интеграционните тестове вече могат да се изпълняват не само в QEMU-VM, но и в контейнери systemd-nspawn. Това трябва да ускори тестовете и да намали консумацията на ресурси там, където не е необходима пълна функционалност. виртуална машина Отделно е отбелязана възможността за тестване на GPU/CUDA натоварвания чрез свързване на хост устройства в контейнери.Обновени са ключовите компоненти на Nixpkgs.
GCC е обновен от 14 до 15, Node.js по подразбиране — от 22 LTS до 24 LTS, Ruby — от 3.3 до 3.4. За GCC и Node.js разработчиците специално предупреждават за възможни обратно несъвместими промени.GNOME е обновен до версия 50 „Tokyo“.
В релиза е включен GNOME 50, за който са обявени подобрения в достъпността, работата с дисплеи и други промени в средата на работния плот.Последният релиз на Nixpkgs с поддръжка за x86_64-darwin.
Nixpkgs 26.05 ще бъде последният ъпдейт с поддръжка за Intel macOS. Бинарните сборки и поддръжката на платформата ще продължат до края на жизнения цикъл на 26.05, но в 26.11 ще бъде прекратено изграждането за x86_64-darwin и поддръжката на компилации от изходен код.
Нови модули
В NixOS 26.05 са добавени много нови модули за услуги и програми. Сред забележимите:
- services.openthread-border-router — модул за OpenThread Border Router, шлюз между Thread mesh мрежи и IP мрежи.
- programs.atuin — интеграция на Atuin за синхронизиране, търсене и бекъп на историята на командния ред.
- services.meshtasticd — поддръжка за Meshtastic, децентрализирана mesh мрежа за слабо захранвани устройства.
- services.reaction — демон, подобен по функция на fail2ban: анализира изхода от програми и може да блокира адреси при повторяващи се грешки в удостоверяването.
- services.vinyl-cache — нов модул след преименуването на проекта Varnish Cache на Vinyl Cache; старият services.varnish все още е оставен за миграция.
- services.rqbit — BitTorrent клиент на Rust с HTTP API и уеб интерфейс.
- services.tailscale.serve — декларативна настройка на Tailscale Serve за публикуване на локални услуги в tailnet.
Също така са добавени модули за ImmichFrame, PdfDing, mangowc, papra, kiwix-serve, nohang, Clevis/LUKS askpass, Rustical, Ente Auth, linkding, Tinyauth, Dawarich, Perses, tabbyAPI, Headplane и много други услуги.
Промени за администратори и работни станции
Конфигурацията на NVIDIA стана по-декларативна.
Добавен е параметър hardware.nvidia.branch за избор на версия на драйвера, обновена е връзката между модула NixOS и новия пакет nvidia-x11, а параметрите на ядрото на модула вече могат да се задават чрез hardware.nvidia.moduleParams, след което те се записват в конфигурацията на modprobe, а не се предават чрез глобалната командна линия на ядрото.Wine беше актуализиран до версия 11.0.
За потребителите, които стартират Windows приложения и игри чрез Wine, това означава преминаване към новата основна версия на Wine, включена в стабилния пакет NixOS 26.05.ACME сертификатите получиха динамично време за подновяване.
Ако security.acme.defaults.validMinDays не е зададен, NixOS сега изчислява момента на подновяване, като взема предвид срока на действие на сертификата: за обикновените сертификати подновяването се извършва след изтичането на две трети от срока на живота, а за краткосрочните — след половината срок.OpenSSH получи нови параметри.
Сега е възможно да генерирате host ключове чрез services.openssh.generateHostKeys = true, дори ако самият SSH сървър не е включен. Това е полезно за системи, които се нуждаят от SSH host ключове за други задачи, например agenix или sops-nix. Добавен е и параметърът services.openssh.enableRecommendedAlgorithms, който позволява да се откажете от набора алгоритми, препоръчан от NixOS.Nextcloud по подразбиране се актуализира до v33 за нови системи.
За конфигурации с system.stateVersion >= 26.05 по подразбиране се използва pkgs.nextcloud33. Разработчиците предупреждават, че директното актуализиране от Nextcloud 31 или по-стари версии до 33 не е възможно: първо трябва да преминете през междинната версия.Шумното логване на отказани връзки на firewall е деактивирано.
Параметърът networking.firewall.logRefusedConnections сега по подразбиране е false, тъй като на сървъри, достъпни от интернет, такива съобщения могат бързо да задръстят kernel ring buffer и да изтласкат по-полезна диагностична информация.glibc е актуализиран до 2.42.
Новата версия вече не прави стека изпълним, ако това е необходимо за shared library. Разработчиците смятат, че тези случаи са грешка и препоръчват да се коригира компилацията чрез -z,noexecstack или да се очисти флага чрез patchelf —clear-execstack; глобално включването на предишното поведение не се препоръчва по съображения за сигурност.
NixOS 26.05 – издание с забележителни инфраструктурни промени: преминаване на initrd на systemd, отказ от стария D-Bus по подразбиране, нов начин за описание на системата чрез system.nix, голямо обновление на Nixpkgs и подготовка за изтегляне на остарели платформи и модули.
Източник: linux.org.ru
