Зачем Atomic Niri и что такое ALT Atomic
Рабочий стол на niri, который не зависит от версий GNOME, на неизменяемой основе: система обновляется целиком или не обновляется вовсе.
Зачем Atomic Niri
История: от GNOME к собственному рабочему столу
Автор канала PLAFON много лет отдавал предпочтение GNOME, но с годами осознал, что ему нравятся лишь отдельные элементы и часть функционала, а не всё рабочее окружение целиком. Так он пришёл к выводу, что от GNOME нужны режим обзора, GTK с libadwaita, стоковые приложения GNOME и GNOME Circle, а ещё порталы. Atomic Niri появился как попытка собрать из этого свой рабочий стол.
- niri вместо GNOME Shell. niri даёт такие же гибкие рабочие столы, как в GNOME, и такой же плавный обзор (Overview). Сверху он добавляет бесконечное полотно окон и гибкую настройку расположения окон через конфиг. В Atomic Niri из этого выросли макеты: можно описать свои рабочие столы так, чтобы нужные приложения открывались на нужных местах при старте системы.
- Современный Wayland. Окружение целиком на Wayland: нет груза X11, мониторы независимы, графика плавная.
- Лучшее из GNOME остаётся. GTK-порталы и стоковые приложения GNOME: Nautilus, Календарь и другие из GNOME Circle. Они продолжают работать и выглядеть как привыкли.
- Свой вход вместо GDM. Красивого Wayland-гретера, подходящего под наши критерии, в природе не было, поэтому появился Seni: менеджер входа на Rust и Vala. По-русски «сени» это вход, так что название для менеджера входа идеальное.
- Но у niri нет «обвеса». Это только композитор: ему не хватало панели, уведомлений, быстрого меню и всего остального. Так появился рабочий стол, а точнее shell, Niti.
Почему Niti. По-русски «нити»: ниточки, за которые дёргают нужное в системе. Так и пользователь через панель управляет системой: тянет за нить, и происходит то, что нужно.
Главное: лучшее от GNOME без его ограничений
Так мы получаем лучшее из «обвеса» GNOME и при этом больше ни от чего в нём не зависим:
- Нет привязки к версиям GNOME. Выход новой версии GNOME не ломает рабочий стол: он развивается сам, в своём темпе.
- Нет ограничений gnome-shell. Панель, уведомления и быстрое меню устроены так, как нужно, а не так, как позволяет чужая оболочка.
- Нет вечно ломающихся расширений. Расширения GNOME Shell после каждого обновления перестают работать. Здесь вместо них плагины с понятным контрактом, и расширений в этом смысле нет вовсе.
- Нативная Vala вместо JavaScript. Расширения GNOME Shell пишутся на JS, а Niti написан на Vala: языке, нативном для GTK. Он компилируется в код C и не тащит сборщик мусора и слой биндингов.
- Серьёзная работа с особенностями языка. Vala легко прячет утечки памяти, особенно в замыканиях. Мы разобрались в этих особенностях и ведём подробную историю найденных утечек и их исправлений, чтобы не наступать на одни и те же грабли.
Seni: свой менеджер входа
Вход в систему тоже сделан своим. Красивого Wayland-гретера, подходящего под наши критерии, не было, поэтому появился Seni, замена GDM. По-русски «сени» это вход, так что название идеально подходит менеджеру входа.
- Стек: демон на Rust (tokio, zbus), гретер на Vala, GTK4 и libadwaita внутри cage, проверка пароля через PAM, связь по D-Bus.
- Безопасность: привилегированный код на безопасном языке, гретер работает без прав от отдельного пользователя, пароль идёт через каналы и затирается в памяти, число попыток ограничено.
- Возможности: быстрый вход, выбор сессии, несколько мониторов, автовход, экран блокировки и вид в стиле панели Niti.
Что даёт Atomic Niri
ALT Atomic даёт неизменяемую основу. Atomic Niri добавляет к ней законченный рабочий стол, который не похож на традиционный: вместо GNOME или KDE используется тайловый композитор niri.
- niri: Wayland-композитор с бесконечной горизонтальной лентой окон. Окна не накладываются друг на друга и не перекрывают панель, а управлять можно и с клавиатуры, и мышью: при зажатой клавише
Modколесо листает рабочие столы, а боковое колёсико (например, у Logitech MX Master) двигает ленту окон. - Niti: полноценный shell на Vala и GTK4: панель, лаунчер, уведомления, трей, таскбар, быстрое меню, виджеты. Цвета интерфейса подбираются из обоев.
- Глобальный поиск по
Super+D: приложения, страницы настроек Tuner, пункты Atomic Booster, калькулятор и системные действия в одном поле, с живыми результатами. - Готово к первому входу: пока вы проходите мастер, к моменту рабочего стола уже настроены сеть, приложения, панель и обои.
- Настройка без ручных конфигов: системные операции в Atomic Booster, всё остальное в Tuner с отдельным плагином на каждую вкладку.
- Три ритма обновлений:
latest,stableиlong. Выберите, как часто хотите получать новое (подробнее).
Кому подходит. Тем, кому нравится идея «поставил, настроил, не ломается» и кто хочет попробовать тайловый рабочий стол без многодневной ручной настройки. Не подойдёт тем, кто привык менять систему вручную (apt install, правки в /usr). Владельцам NVIDIA нужен отдельный экспериментальный канал nvidia.
Проблема, которую решает ALT Atomic
Обычная система за полгода превращается в уникальную: каждую неделю обновления, пакеты «просто попробовать», правки конфигов. Если она ломается, воспроизвести её на другой машине почти невозможно, да и сами вы уже не помните, как она пришла к такому состоянию.
ALT Atomic устроена иначе: операционная система это один неделимый образ. Он не меняется по частям. Обновление происходит только целиком: либо удачно, либо никак. А если новая версия вам не понравилась, предыдущая лежит рядом и возвращается за секунды.
Как это работает «на пальцах»
Представьте контейнер с полноценной ОС внутри, но запущенный не как контейнер, а как основная система на голом железе, с возможностью откатиться к предыдущей версии. Ваша система хранится и обновляется как образ в реестре (registry), а корневая файловая система только для чтения.
| Путь | Тип | Доступ | Что хранит |
|---|---|---|---|
/ | composefs с fs-verity | только чтение | образ: ядро, systemd, библиотеки, системные утилиты |
/usr | временный overlay | запись до перезагрузки | то, что вы поставили «на пробу» (слетает после перезагрузки) |
/var/home | отдельный раздел Btrfs | полный | ваши документы и настройки, обычная домашняя папка |
Ваши файлы не иммутабельны: неизменяема только сама система. Поэтому обновления и откаты никогда не трогают домашнюю папку.
Чем это отличается от обычной системы
| Обычный дистрибутив | ALT Atomic | |
|---|---|---|
Корень / | доступен для записи | только чтение |
| Обновление | отдельная транзакция на каждый пакет | одна атомарная операция |
| Сбой обновления | возможно «полуобновлённое» состояние | откат к предыдущему образу за секунды |
| Мусор от старых пакетов | накапливается | каждое обновление чистый образ |
| Воспроизводимость | «у меня работает» | образ это рецепт: что собрано в CI, то и у всех |
Экспериментируйте без страха: usr-overlay и перезагрузка
Неизменяемая система не значит «трогать нельзя». Команда sudo bootc usr-overlay делает /usr временно записываемым. Дальше можно делать в нём что угодно: ставить пакеты, подменять файлы, пробовать чужие сборки и патчи.
sudo bootc usr-overlay
sudo apm system install htop
# ... экспериментируем, ломаем, чиним ...
sudo rebootПосле перезагрузки все изменения в /usr исчезают, и система снова ровно такая, какой её собрали в образе. Сломать систему этим способом практически нельзя: достаточно перезагрузиться.
Что не откатывается. Откатывается только /usr. Файлы в домашней папке и в /var, а также настройки в /etc остаются как есть, это ваши данные и конфигурация. Если хотите оставить пакет насовсем, его добавляют в образ.
Современная графика: Wayland
Рабочий стол построен на Wayland, современном протоколе вывода графики, который заменяет старый X11. niri работает только на Wayland: это даёт плавную прорисовку, независимые мониторы с разным масштабом и частотой и более строгую изоляцию окон друг от друга. Старые программы X11 запускаются через xwayland-satellite, отдельно ничего настраивать не нужно.
Видеодрайверы AMD и Intel живут в ядре Linux и Mesa, поэтому графика работает из коробки. Для NVIDIA есть отдельный экспериментальный канал.
Приложения живут отдельно от системы
Главная идея: система остаётся чистой, а всё, что вы ставите, живёт в стороне. Сборочный мусор, зависимости, кэши и «хвосты» программ никогда не попадают в системный образ и не захламляют его.
Flatpak
Классический способ для графических приложений. Каждое приложение работает в своей песочнице со своими библиотеками и ограниченным доступом к системе. Каталог доступен в мастере, в Atomic Booster и в магазине Bazaar.
Подробнее →Distrobox
Отдельные контейнеры с окружением другого дистрибутива: Arch, Ubuntu, Debian, Fedora, ALT. Ставьте в них пакеты из репозиториев этих дистрибутивов и выводите приложение в меню ALT Atomic как обычное, нативное. Удалили контейнер, и всё, что он вывел на хост, исчезло вместе с ним.
Подробнее →Капсулы
Портативные контейнеры-файлы: приложение запускается без установки, а удаляется одним файлом. Есть каталоги Aides и eepm (556 приложений с сайтов производителей).
Подробнее →Как они изолированы. Flatpak это настоящая песочница с разрешениями. Distrobox это контейнер, а не жёсткая защита: домашняя папка в нём по умолчанию общая с хостом. Зато у него своя файловая система и свои пакеты, так что система не засоряется.
Сборка программы из исходников, десятки зависимостей для неё, пробные версии: всё это происходит внутри контейнера. Если хочется порядка, контейнер можно выбросить целиком. Подробнее об установке программ в документации.
APM: менеджер пакетов ALT Atomic
APM (Atomic Package Manager) это не просто замена apt. Он знает об устройстве неизменяемой системы и работает сразу как консольная команда, служба D-Bus и HTTP API. Через D-Bus с ним общаются Atomic Booster и другие приложения.
| Команда | Для чего |
|---|---|
apm system (apm s) | системные пакеты, образ и приложения |
apm repo (apm r) | репозитории |
apm distrobox (apm d) | контейнеры Distrobox и пакеты в них |
Что умеет apm system
| Команда | Что делает |
|---|---|
apm system upgrade | обновляет образ системы (то же, что image update) |
apm system install пакет | ставит пакет во временный overlay над /usr, после перезагрузки он исчезнет |
apm system remove пакет | убирает пакет и записывает это в рецепт образа |
apm system search, info, list | поиск пакетов и сведения о них |
apm system image status | состояние: запущенный, ожидающий, откатный образ |
apm system image history | история изменений образа |
apm system image apply | пересобирает локальный образ по вашему image.yml и разворачивает его |
Рецепт образа: image.yml
Всё, что должно быть в системе постоянно, описывается в файле image.yml: пакеты, ядро, свои скрипты. Это рецепт, по которому собирается образ, и он воспроизводим: один и тот же рецепт даёт одну и ту же систему. Формат модульный: список modules, у каждого модуля свой тип (пакеты, ядро, скрипт, подключение другого файла).
Поэтому правило простое. Для пробы: apm system install и перезагрузка всё вернёт. Для постоянного: изменить рецепт и применить его (apm system image apply), или собрать свой образ в CI.
Осторожно с локальной пересборкой. Команда apm system image apply собирает образ прямо на вашем компьютере по image.yml. Для проб это нормально, но для постоянных изменений надёжнее другой путь: хранить image.yml в своём репозитории и собирать образ в CI, а затем переключаться на него через bootc switch.
Почему так. Локальная сборка капризнее: она падает, если убрать пакет, которого нет в базовом образе, может отказаться пересобирать, когда решит, что изменений нет, а на полном диске история записывается раньше, чем подтверждён успех. Сборка в CI воспроизводима, у неё есть история в git, и обновления не придётся собирать на своей машине.
Репозитории и контейнеры
Подключить репозиторий можно командой apm repo add, а контейнер Distrobox создать и сразу поставить в него программу с автоматическим выводом ярлыка на хост:
apm distrobox c create --image alt --name dev
apm distrobox install -c dev некая-программаКогда контейнер удаляется, APM убирает с хоста всё, что было из него выведено. Подробная справка по командам есть в хэндбуке.
Как разрабатывается дистрибутив
Atomic Niri делается открыто, быстро и с упором на безопасность пользователя. Несколько цифр на 6 ноября 2026 года:
3000+ коммитов
Около 2100 в четырёх основных репозиториях (образ, Niti, Atomic Booster, Seni) и около 900 в 39 репозиториях плагинов Tuner и шагов мастера. Работа идёт с июня 2026 года.
1700+ тестов
Автоматические проверки в основных репозиториях: более 900 у Niti, около 450 у Atomic Booster, около 240 у образа, около 70 у Seni. Плюс сценарии проверки установленного образа.
Всё открыто
Весь исходный код лежит на ALT Linux Space, сборки идут в публичном CI, образ собирается из git. Любой может прочитать, проверить и предложить правку.
Число тестов посчитано по тестовым функциям в репозиториях, оно приблизительное.
Подпись образов: защита от подмены
Главный риск для системы, которая обновляется образом, это подмена образа по дороге. Поэтому образы основных каналов подписываются.
- Ключ проекта (cosign). Образы каналов
latest,stableиdev-testподписаны. Закрытый ключ хранится в секретах CI, открытый лежит в самом образе (/usr/share/atomic-booster/release-pubkey.pem) и в репозитории (keys/release-pubkey.pem). - Неподписанное до пользователей не доходит. Сборка сначала публикуется под служебным тегом
канал-unsigned. В рабочий тег она попадает только после подписи. - SBOM. К образу прикладывается список всех пакетов и известных уязвимостей в формате CycloneDX (сканер trivy). Atomic Booster показывает, сколько критических и серьёзных уязвимостей закрывает новая версия.
- Проверка перед обновлением. Atomic Booster проверяет подпись и SBOM перед обновлением и сменой канала. Нет подписи или она не сходится: обновление не выполняется.
- Проверить самому. Подпись можно проверить вручную командой
cosign verify.
cosign verify --key /usr/share/atomic-booster/release-pubkey.pem \
altlinux.space/plafonlinux/atomic-niri-plafon:latestЧестная оговорка. Подпись проверяет Atomic Booster. Команды bootc upgrade и bootc switch из терминала подпись не проверяют. Если обновляетесь вручную, проверяйте её сами через cosign verify.
Защита учётной записи
- Ограничение попыток пароля. Подключён
pam_faillock: после 10 неудачных попыток за 15 минут учётная запись блокируется на 5 минут. Это касается входа, разблокировки экрана, sudo и su. - Неизменяемая система. Корень доступен только для чтения и проверяется криптографически (composefs и fs-verity), поэтому подменить системные файлы трудно, а откат занимает секунды.
- Приложения в изоляции. Flatpak работает в песочнице, а остальное живёт в контейнерах и не касается системы.
Как Seni открывает вашу сессию
Seni устроен так, чтобы привилегированная часть была маленькой и написанной на безопасном языке.
- Гретер без правОкно входа (Vala, GTK4, libadwaita) запускается внутри cage от отдельного пользователя
_greeter. Пароль он сам не проверяет. - Демон на RustГретер передаёт пароль демону по D-Bus (zbus). Демон работает от root, написан на Rust (tokio) и затирает пароль в памяти после использования.
- Проверка через PAMДемон не хранит и не сравнивает пароли: проверку выполняет штатный стек PAM системы (
pam_tcb), включаяpam_faillock. - Сессия через logindПосле успеха открывается сессия PAM, systemd-logind регистрирует её на рабочем месте, привилегии сбрасываются до вашего пользователя и запускается niri.
Прозрачность разработки
- Весь исходный код на ALT Linux Space: образ, Niti, Atomic Booster, Seni, плагины Tuner, шаги мастера и этот сайт.
- Образ собирается в публичном CI: что собрано в CI, то и у всех, рецепт сборки лежит в репозитории.
- Разработка идёт в ветке
dev, проверяется в сборкеdev-testи только потом попадает вmainи в рабочие каналы. - Ошибки и идеи принимаются в issues, а история изменений ведётся в журнале изменений и в коммитах.
- Как устроена работа с репозиториями и CI, описано в документации для разработчиков.
Из чего это сделано
- bootc и composefs: образ контейнера разворачивается на диск и загружается как система; fs-verity проверяет целостность файлов.
- APM: менеджер пакетов ALT Atomic. Изменения системы описываются в YAML (
image.yml) и применяются через сборку образа. - Flatpak, Distrobox, Capsule: приложения живут отдельно от системы, внутри контейнеров и песочниц.
- ALT Linux Space (altlinux.space): здесь образ собирается в CI и хранится в реестре.
Подробное руководство по ALT Atomic: хэндбук и чат ALT Atomic.
Как создавался ALT Atomic
ALT Atomic развивается сообществом вокруг ALT Linux. Если коротко, хронология такая:
- Начало 2025. Появился чат ALT Atomic и первый инструмент
atomic-actions, обёртка над пакетным менеджером и OSTree. Затем началась разработка APM как его замены. - 2025. Выбран стек bootc и composefs вместо rpm-ostree, система собирается на Sisyphus (самые свежие пакеты ALT). Основной площадкой CI/CD стала ALT Linux Space. Появились Capsule и stplr для приложений.
- Начало 2026. Дебют ReadySet, мастера первой настройки. Запущена сборка образов в CI с пересборкой слоёв (rechunk), позже появился chunkah. APM получил модульный формат
image.yml. - 2026. Вокруг ALT Atomic растёт экосистема: Atomic Booster, Tuner, свои образы сообщества.
Почему ALT Atomic идеально подходит для дома
Если вы не играете в Linux, а просто пользуетесь им каждый день для работы, учёбы, писем, фильмов и семейных фотографий, то неизменяемая система это не компромисс, а главный плюс. Вам нужен компьютер, который работает и не требует внимания. Именно это даёт атомарность.
Поставил и забыл
Обновляется целиком
Система приходит одним образом, а не сотнями отдельных пакетов. Обновление либо применилось полностью, либо не применилось вовсе. «Полуобновлённого» состояния, в котором всё странно ломается, просто не бывает.
Откат за секунды
Предыдущая версия всегда лежит рядом. Новая сборка чем-то не понравилась: одна команда или одна кнопка в Atomic Booster, перезагрузка, и всё как вчера. Ваши документы и настройки в домашней папке при этом не меняются.
Не накапливается мусор
Со временем обычная система обрастает забытыми пакетами, конфигами и «пробными» программами. Здесь каждое обновление это чистый образ, а пробные вещи живут в контейнерах и исчезают вместе с ними.
Одинаково у всех
Система собирается в публичном CI и подписывается ключом проекта. Если у кого-то что-то заработало, у вас заработает так же, а ошибку легко воспроизвести и исправить для всех сразу.
Изоляция работает на вас, а не против вас
Слова «неизменяемая» и «изолированная» звучат как ограничения, а на деле это защита целостности системы.
- Системные файлы только для чтения. Случайная команда, неудачный скрипт или сомнительная установка не могут повредить сами основы системы. Сломать можно только свои файлы, а не загрузку.
- Приложения в песочнице. Программы из Flatpak живут отдельно, со своими библиотеками и ограниченным доступом. Новая версия одного приложения не ломает остальные и не «сносит» нужные системе пакеты.
- Целостность проверяется. Корень системы защищён криптографически, а образы обновлений подписаны. Подмена системных файлов или образа обновления, который проверяет Atomic Booster, не пройдёт незамеченной.
- Незапланированные выходы из строя исчезают. Типичные истории вроде «обновил, перезагрузился, а система не стартует» или «поставил пакет, и сломался звук» здесь решаются откатом за секунды.
«Но я не смогу ничего установить?»
Сможете, и привычнее, чем кажется:
- Обычные программы ставятся из каталога в пару кликов (Flatpak, магазин Bazaar или Atomic Booster). Браузер, почта, офис, плеер, мессенджеры уже идут в комплекте.
- Что-то особенное можно получить из контейнера Distrobox с Arch, Ubuntu или Fedora, либо из капсулы в одном файле.
- Эксперименты безопасны:
usr-overlayпозволяет менять систему как угодно, а после перезагрузки всё возвращается. - Терминал не обязателен. Обновления, смена канала, приложения и контейнеры управляются мышью в Atomic Booster.
Для кого это
Для работы и учёбы
Компьютер должен включаться и работать в понедельник утром так же, как в пятницу вечером.
Для семьи
У каждого свой пользователь и своя домашняя папка, а система остаётся здоровой, что бы ни установили или ни нажали.
Для родителей и друзей
Поставили, настроили и уехали: через полгода система обновлена и работает, а вам не нужно приезжать «чинить».
Честно: к чему придётся привыкнуть
У неизменяемой системы есть своя логика, и стоит знать о ней заранее.
- Привычное «поставил пакет навсегда через пакетный менеджер» здесь заменено: для постоянных системных пакетов меняют рецепт образа, для остального есть Flatpak, контейнеры и капсулы.
- Для видеокарт NVIDIA есть отдельный экспериментальный канал. Графика AMD и Intel работает из коробки.
- Образ молодой и быстро развивается. Новичкам лучше выбрать спокойный канал
stable, а откат всегда под рукой.