NixOS 25.11 Xantusia: усі нові функції та ключові зміни

  • NixOS 25.11 “Xantusia” оновлює тисячі пакетів, модулів та опцій з особливим акцентом на чистоту та безпеку.
  • Робочий стіл робить крок вперед з GNOME 49 та оновленнями інструментарію, такими як LLVM 21, CMake 4 та новими мовними версіями.
  • До баз даних, контейнерів та сервісів вносяться численні несумісні зміни, що вимагають перегляду існуючих конфігурацій.
  • Багато програм перейменовуються або видаляються на користь сучасніших альтернатив, що підштовхує екосистему до підтримуваного та безпечного програмного забезпечення.

Nix OS 25.11

NixOS повертається з 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 «Brescia» . Ця версія робочого середовища робить рішучий крок у напрямку Wayland та усуває сеанс на основі X11, що може бути суттєвою зміною, якщо ви підтримували старіші конфігурації або розширення, які явно залежали від Xorg.

GNOME 49 містить нові програми, такі як оновлений відеоплеєр та оновлений переглядач документів, а також перероблений календар та численні незначні покращення взаємодії з користувачем. Рекомендується переглянути офіційні нотатки до випуску GNOME, якщо ви покладаєтеся на якусь вузькоспецифічну функціональність або складні розширення.

Компілятори та інструментальні ланцюжки C: LLVM, GCC та CMake

У розділі компіляції NixOS 25.11 оновлює LLVM до версії 21 , що є значним кроком для розробників, які використовують C, C++ або Rust з інструментарієм Clang. Ця версія включає покращення оптимізації, нові підтримувані цілі та коригування попереджень, які можуть спричинити зміни в поведінці в деяких проектах.

Компілятор GCC підтримується у гілці 14 , версії, яка вже добре зарекомендувала себе та протестована у виробництві. Це сприяє підтримці сумісності з проектами, які все ще залежать від цього сімейства компіляторів, без виникнення руйнівних змін із кожним оновленням системи.

Тим часом CMake оновлюється до версії 4 , що може забезпечити нові функції в сучасних системах збірки, але також може вимагати коригування в проектах, які використовували застарілий синтаксис або команди. Якщо у вас є старіші шаблони CMake, рекомендується виконати тести збірки перед завершенням міграції.

Графічний процесор, обчислення та зміни в ROCm та CUDA

Для тих, хто працює з прискоренням на графічному процесорі, гілка Оновлення rocmPackages_6 до ROCm 6.3У той час як rocmPackages_5 Його видалено з дерева. Деякі частини реструктуровано: rocmPackages.rocm-thunk Він зникає як окремий пакет та інтегрується в rocmPackages.clrІ rocmPackages.clang-ocl Він йде на пенсію після того, як його покинула AMD у 2023 році.

Паралельно з цим, офіційна підтримка CUDA 10 втрачається , як уже було оголошено в примітках до випуску NixOS 24.11. Користувачам, які досі підтримують дуже старе обладнання, слід розглянути можливість оновлення своїх графічних процесорів або перевірити наявність підтримуваних альтернатив від інших виробників або серверних частин.

Браузер, проксі-сервери та проблеми з компіляцією Discord

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

Повідомлення про помилку Nix вказує на те, що Не вдалося завантажити тар-архів 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.

На рівні оркестрації containerds було оновлено до гілки 2.x , що принесло низку змін у поведінці. Якщо ви використовуєте containerds безпосередньо або як компонент платформи, важливо переглянути документацію containerds 2.0, щоб уникнути несподіванок у продакшені.

У світі Docker, docker_24 видаляється з дерева, оскільки він більше не підтримується та має відомі вразливості з червня 2024 року. Ідея полягає в тому, щоб перенести встановлення на новіші та краще підтримувані версії Docker.

Щодо серверів та панелей керування, NetBox оновлено до версії 4.2зі значними змінами на рівні схеми та поведінки. Версія 4.0.x видалена з дерева, і користувачам рекомендується слідкувати за сповіщеннями про оновлення 4.1 та 4.2 перед оновленням. Інші служби, такі як matomo Вони переходять на використання версії 5 за замовчуванням (версія 4 більше не підтримується), і пакет видаляється. matomo-beta оскільки тепер легко перезаписати версію з overrideAttrs.

Kafka також зазнає значних змін: Apache Kafka оновлюється до гілки 4.0 , яка більше не підтримує ZooKeeper. Усі інсталяції необхідно перенести в режим KRaft, дотримуючись рекомендацій Apache Foundation. У NixOS це передбачає перегляд конфігурацій для видалення посилань на ZooKeeper та відповідну адаптацію розгортань брокерів.

Сервіси, демони та програми, які змінюються або зникають з NixOS 25.11

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

Деякі помітні приклади: кракен Він зникає, і рекомендується використовувати coolercontrol як альтернатива; opensmtpd-додатки Його видаляють, оскільки він несумісний з OpenSMTPD 7.6.0+, поступаючись місцем певним пакетам. opensmtpd-table-*; Заммад Він припиняє підтримку MySQL та змушує користувачів переходити на PostgreSQL, дотримуючись офіційного посібника.

У світі імен, Minetest тепер називається Luanti щоб відобразити зміни у вихідному коді, але псевдоніми зберігаються, щоб уникнути негайних перебоїв. Аналогічно, зміни POAC до cabinpkg, xdragon стає dragon-drop (с xdragon (як псевдонім) та siduck76-st він перейменований на st-snazzyТакож є малі літери: шрифт серйозно-санс Він відкликається, оскільки апстрім змінив назву на Serious Shanns, все ще без упаковки.

Інші проекти просто архівуються: gkraken, ефемерний, вокальний, fluxus, sm64ex-coop, nexusmods-app, nodePackages.ganache і багато інших позначено як зламані, необслуговувані або небезпечні та видалено з Nixpacks. У кількох випадках пропонується альтернатива (наприклад, sm64coopdx замінити sm64ex-coop, або gnome-podcasts y kasts замінити голосну).

У середовищі обміну повідомленнями та конфіденційності пакети signald, signaldctl та purple-signald визнаються застарілими через тривалу несумісність з офіційними серверами Signal, а сервер Matrix conduwuit позначено як вразливий після того, як його розробники припинили його підтримку.

Нові версії та зміни в поведінці популярних програм

Окрім зникнень, багато програм оновлюються зміни в поведінці, що порушують сумісність, Наприклад, Агент Grafana та його модуль Вони залишають сцену на користь Grafana Alloy, яка вже має власний сервіс. services.alloyГрафана рекомендує мігрувати до 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.

El paquete tinycc Потім він розділяє виходи на 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 для версії 28. Версія Emacs 29 для Macport підтримується, але з виправленнями відомих вразливостей. Racket також зазнає скорочення: racket_7_9 виведено з підтримки через ненадійність , що змушує користувачів переходити на Racket 8, а разом з ним видаляється і fluxus , який роками залежав від цієї непідтримуваної версії.

Пошукова система тексту binwalk 3.1.0 Його переписують на Rust, і пов'язаний модуль Python стає недоступним; інструмент особистих облікових записів python3Packages.beancount Він підвищується до 3.1, при цьому попередній ряд залишається на тому ж рівні. beancount_2В електронній пошті та CLI, Тлдр Він перемикається на використання клієнта Python замість C, і Гімалаї Він оновлюється до версії 1.1.0 з новаторськими змінами, які потребують перегляду конфігурації.

У різних інструментах, nq 1.0 перейменовує fq та tq на nqtail та nqterm., zf 0.10.2 Це змінює спосіб обробки Unicode та escape-послідовностей, а також ast-grep видалити команду sg щоб уникнути конфліктів з shadow-utils, водночас дозволяючи використовувати застарілу версію сумісності enableLegacySg = true;.

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

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

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

Nix OS 24.11
Пов'язана стаття:
Все, що вам потрібно знати про довгоочікуваний випуск NixOS 24.11

Додати як пріоритетне джерело в Google