ALT Atomic образ с Niri + Niti panel от PLAFON
  • Python 53.6%
  • Shell 45.5%
  • Makefile 0.6%
  • SCSS 0.3%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-10-10 18:14:46 +02:00
.forgejo/workflows Verify published images and align ReadySet smoke checks with source 2026-09-30 17:58:23 +02:00
container-files Загрузочная запись: ALT Atomic Niri ДД.ММ #номер_рана (канал) 2026-10-03 16:22:21 +02:00
data/screenshots Обновить скриншоты README (панель/QC/лаунчер), ссылка на Niti -> NitiVala 2026-09-05 16:53:22 +02:00
docs imagetest: сценарии входа, автологина и падения гретера для ноутбука (с защитой от запуска в рабочем сеансе) 2026-09-29 15:54:27 +02:00
scripts ALT Hub: тестовый Flatpak-репозиторий «Альт Хаб (Тестовый)» подключён для новых и существующих установок; Капсулы в подборке Bazaar; тесты 2026-09-27 23:12:03 +02:00
src LAVD (оба режима) и ananicy-cpp из коробки + Nautilus-пакеты/твики 2026-10-09 17:55:45 +02:00
tests Загрузочная запись: ALT Atomic Niri ДД.ММ #номер_рана (канал) 2026-10-03 16:22:21 +02:00
.containerignore Сохранять скачанные RPM между тестовыми сборками образа 2026-09-30 09:42:59 +02:00
.gitignore Сохранять скачанные RPM между тестовыми сборками образа 2026-09-30 09:42:59 +02:00
build-and-run.sh fix(security): LACT dynamic user env, remove dead inizio wizard, propagate INITIAL_USER buildargs 2026-07-26 10:02:52 +02:00
CHANGELOG.md Сборщик диагностики для ISSUE с обезличиванием; новый график выпуска каналов (latest раз в неделю, stable раз в месяц, long раз в 4 месяца, вручную) 2026-09-27 09:13:53 +02:00
CORE.lock Закрепить core на 2026-10-10 (свежий снимок для нового latest) 2026-10-10 18:14:46 +02:00
DEPLOYMENT.md Verify published images and align ReadySet smoke checks with source 2026-09-30 17:58:23 +02:00
LICENSE ALT Atomic image with Niri + Niti panel 2026-06-12 11:07:14 +02:00
Makefile feat: надёжность чистой установки — конфиги, группы, обоины, firstboot-тесты 2026-08-17 13:47:06 +02:00
README.en.md Образ без GNOME Settings (gnome-control-center): нужные Тюнеру службы прописаны явно — AccountsService, CupsPkHelper, общий доступ (RDP/WebDAV/медиасервер), GTK4-редакторы VPN; тесты 2026-09-27 23:05:18 +02:00
README.ru.md Образ без GNOME Settings (gnome-control-center): нужные Тюнеру службы прописаны явно — AccountsService, CupsPkHelper, общий доступ (RDP/WebDAV/медиасервер), GTK4-редакторы VPN; тесты 2026-09-27 23:05:18 +02:00
VERSIONS.lock fix: удалены мёртвые дубли src/*.yml, lactd включён в активном systemd.yml 2026-07-12 13:47:01 +02:00

ALT Atomic Niri

An immutable ALT Atomic image with the niri tiling Wayland compositor and the Niti panel.

Desktop

App launcher All apps grid Quick Center

What is ALT Atomic

ALT Atomic is an immutable operating system. The essentials:

  • The system is an OCI container. The root / is built from an image, stored in a registry, and deployed to disk via bootc + composefs. It is read-only and cryptographically verified.
  • Update = new image + reboot. apm system upgrade downloads a fresh image into "staged" state; after reboot it is activated atomically.
  • Rollback = one command. The system keeps two states: current and previous. bootc rollback instantly restores the previous one.
  • Your data is untouched. /var/home (user files and configs) lives on a separate partition and survives every update and rollback.

This image adds a desktop to ALT Atomic: niri + Niti + a set of utilities (see "Includes").

A more detailed ALT Atomic handbook (in Russian): https://t.me/plafonyoutube/8073

Update channels

The image is published in three channels. The image lives in a cloud registry, and one image has several name-labels — stable, latest, long. These are not program versions like "1.2.3", but pointers to different builds that update at different rates. Choosing a channel at install time means choosing how often and how fresh the system's updates will be. You can switch channels at any time.

Channel Contents Updates For
latest main branches of all components manually, once a week developers and testers
stable component release tags manually, once a month most users
long snapshot of stable (stable-prev) manually, every 4 months "set and forget"

dev-test is built manually as needed from component dev branches. No cron is used. Release order: changes in dev → dev-test → main → component releases (from main only) → latest.

Recommendation: stable for new users, latest for developers.

Switch channel

sudo bootc switch altlinux.space/plafonlinux/atomic-niri-plafon:stable

bootc switch changes the channel — from then on all updates come from the new channel. You can switch at any time and in either direction (e.g. stable → latest → back).

Update

apm system upgrade
sudo reboot

apm system upgrade updates the system within the current channel (stable → stable, latest → latest). It never changes the channel.

Roll back

sudo bootc rollback
sudo reboot

Restores the previous state — the image you were running before the last update.

Full list of images and tags: https://altlinux.space/plafonlinux/atomic-niri-plafon/packages

Install

Via the ALT Atomic installer

  1. Boot the ALT Atomic installation media.

  2. Choose "Use custom image" and enter:

    altlinux.space/plafonlinux/atomic-niri-plafon:stable
    

On an existing ALT Atomic system

sudo bootc switch altlinux.space/plafonlinux/atomic-niri-plafon:stable
sudo reboot

Switching from another ALT Atomic image: on first boot, bootc switch automatically copies Niri/Niti/terminal/wallpaper configs from /etc/skel/ to all existing users (UID ≥ 1000) and disables the previous display manager. Rollback is fully reversible — the original image continues to work as before.

Image size (2026-08-30)

Compressed registry size (what actually gets downloaded on bootc switch/bootc upgrade):

Image Size Layers
atomic-niri-plafon:latest/:stable/:long 2.58 GiB 71 (rechunked)
Base alt-atomic/core/stable:latest 1.55 GiB 1

On an already-installed system (live data from the test laptop, 464 GB SSD) — the whole /var after a few days of use is ~21 GB (including the user's /var/home and /var/lib/flatpak). Keep in mind the installer may require more free space during the install itself (before the final composefs deployment is built) than the finished system actually ends up using — if disk space is tight, don't rely on the steady-state figure above alone.

Installing software

The system is immutable, so software is installed this way:

What How Why
GUI apps Flatpak doesn't touch the system image, updates separately
CLI / dev tools Distrobox isolated container with a writable environment
System packages bake into the image only by editing the recipe and rebuilding
Temporary package apm system install <pkg> removed on the next image update
App from Aides (ALT's AUR) aides-install <pkg> pulls a prebuilt Capsule — stplr (Aides' own client) doesn't work on an immutable root

Includes

plafonlinux apps (installed from their own releases):

  • Niti — GTK4 panel (launcher, OSD, notifications, tray, taskbar)
  • Atomic Booster — system operations (update, backup, image upgrade)
  • Tuner + tuner-niti-settings — graphical panel/module configuration
System packages (rpm)

Compositor and login

  • niri — tiling Wayland compositor
  • Seni — custom login manager (Rust daemon + Vala/GTK4/libadwaita greeter)

Terminal and shell

  • Kitty (+ kitten) — terminal
  • zsh + Starship (+ completions)

Monitoring and utilities

  • btop, htop — resource monitoring
  • fastfetch, inxi — system info
  • git, distrobox, notify-send

Network and Bluetooth

  • NetworkManager (+ Wi-Fi, Bluetooth), bluez, blueman

Audio and power

  • PipeWire + WirePlumber, playerctl
  • upower, power-profiles-daemon, brightnessctl

Wallpaper and theme

  • awww, waypaper, matugen — wallpapers and Material You colors
  • Papirus — icon theme; fonts Inter, Cantarell, Fira Code Nerd, Noto Emoji, etc.

Screenshots and screen recording

  • grim, slurp, swappy, wf-recorder, wl-clipboard, cliphist

Files and disks

  • Nautilus (+ plugins), gnome-disk-utility

Settings and system

  • gnome-settings-daemon (GTK3 appearance settings), gnome-keyring
  • xdg-desktop-portal (+ GTK, wlr), Dozor polkit agent

Scheduler (AMD)

  • scx-scheds — sched_ext LAVD

Printing, scanning, network

  • CUPS, SANE (+ airscan), Samba, gvfs, openssh-server, fwupd
Flatpak
  • Loupe — image viewer
  • Papers — document viewer (PDF)
  • File Roller — archive manager
  • Calendar — calendar
  • Text Editor — text editor
  • Simple Scan — scanning
  • Calculator — calculator
  • Disk Usage Analyzer (baobab) — disk usage
  • LACT — AMD GPU control
  • Piccolo — music instruments
Custom scripts, services, and what is installed outside the repo

Artifacts built from git (not from the rpm repository)

Artifact Repository Module
Niti (panel) plafonlinux/NitiVala src/resources/niti.yml
Atomic Booster (tuner) plafonlinux/AtomicBoosterVala src/resources/atomic-booster.yml
tuner-niti-settings (plugin) plafonlinux/tuner-niti-settings src/resources/tuner-niti.yml

Built directly inside the image (APM type: git, dev branch for latest, main for stable); build dependencies (golang, gcc, GTK4-dev) are installed and removed automatically.

Custom scripts (src/resources/scripts/)

Script What it does
setup-niti-config.sh lays out Niti (NitiVala) defaults (panel.json, colors.scss, wallpaper.json) and niti.service into /etc/skel, symlinks graphical-session.target.wants
setup-control.sh xdg-user-dirs, glib-compile-schemas, Papirus icon theme, dconf update
flatpak-setup.sh adds the Flathub remote, masks org.freedesktop.Platform.openh264
initial-setup.sh (INITIAL only) first user creation, ru_RU locale, wallpapers

systemd services started by us

Service Type What it does
flatpak-setup system oneshot (first boot) installs the 10 Flatpak apps
lactd system (daemon) LACT for AMD GPU
atomic-niri-migrate system oneshot config migration on bootc switch
ensure-groups system oneshot video/render/input/audio/fuse/camera/scanner groups for _greeter and local users
niti.service user starts the Niti panel
atomic-booster user (global) Atomic Booster D-Bus daemon

Masked: packagekit. Disabled: blueman-applet (autostart overridden with Hidden=true in skel).

Outside the repository

  • Base image — altlinux.space/alt-atomic/core/stable:latest (upstream ALT Atomic).
  • Flathub — Flatpak apps (see the spoiler above).
  • Material Symbols Outlined font (src/resources/files/fonts/) — panel icons.
  • Utility scripts — scripts/validate.sh (YAML/shell/KDL/JSON lint), build-and-run.sh (local build + install-to-disk).

Local build (for developers)

git clone https://altlinux.space/plafonlinux/atomic-niri-plafon.git
cd atomic-niri-plafon
sudo ./build-and-run.sh

Disk: /var/tmp/atomic-niri-plafon-vm/disk.raw. Use virt-manager (Spice + OpenGL, Virtio + 3D).

Login: the username and password set during install.