
NixOS повернувся з, Nix OS 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 «Ксантузія»Тепер його можна встановити та оновити на будь-якій системі, використовуючи стабільні канали. Ця версія отримуватиме виправлення безпеки та виправлення помилок протягом семи місяців, до 30 червня 2026 року, тому це нове рекомендоване оновлення, якщо ви переходите з попередньої версії.
Попередня стабільна, NixOS 25.05 «Певучка», офіційно стає застарілою та припинить отримувати оновлення безпеки з 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”
Одна з головних нових функцій для користувачів настільних комп'ютерів – це оновлення ГНОМ 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, рекомендується виконати тести збірки перед завершенням міграції.
Графічний процесор, обчислення та зміни в 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.
На рівні оркестрації, 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-додатки Його видаляють, оскільки він несумісний з 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. трубопровід Він позначений як вразливий після того, як його розробники припинили розробку.
Нові версії та зміни в поведінці популярних програм
Окрім зникнень, багато програм оновлюються зміни в поведінці, що порушують сумісність, Наприклад, Агент Grafana та його модуль Вони залишають сцену на користь Grafana Alloy, яка вже має власний сервіс. services.alloyГрафана рекомендує мігрувати до grafana-alloy та надає документи для завершення передачі.
Екосистема моніторів та панелей також розвивається: Прометей переходить до гілки 3.xз офіційними міграційними нотатками, водночас Каната, Authelia, helmfile, агент відкритої політики та багато інших пакетів оновлюються до основних версій зі змінами в синтаксисі, форматах конфігурації та значеннях за замовчуванням. Зокрема, 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 для Emacs 28. Версія Emacs 29 для Macport підтримується, але з виправленнями для відомих вразливостей. Racket також зазнає скорочення: racket_7_9 вилучено через небезпекунаполягаючи на використанні Ракетки 8, і тим самим усуваючи потоки, який роками покладався на цю непідтримувану версію.
Пошукова система тексту 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 в актуальному стані, не втрачаючи з поля зору... стабільність та відтворюваність що характеризують проєкт.