- Zig 83.9%
- Python 15.2%
- Shell 0.9%
|
|
||
|---|---|---|
| docs | ||
| examples | ||
| kanban | ||
| profiles/base | ||
| rpm | ||
| schemas | ||
| src | ||
| tests | ||
| .gitattributes | ||
| .gitignore | ||
| .hermes.md | ||
| build.zig | ||
| build.zig.zon | ||
| LICENSE | ||
| README.md | ||
multi-alt
multi-alt — проект собственной сборки ALT Linux с воспроизводимым package-origin rootfs, собственными пакетами и установщиком. multi-alt-installer — Zig 0.16.0 TTY frontend над общей installer state machine; он читает strict InstallPlan v1, показывает canonical destructive summary, требует exact SHA-256 plan confirmation и вызывает только явный effect port.
Основные правила
- Все разрабатываемые проектом исполняемые программы и библиотеки пишутся на Zig 0.16.0. Внешние инструменты ALT, загрузчики, ядро, DE и библиотеки могут использоваться как пакетные/runtime-зависимости.
- Готовый rootfs, OCI-слой или официальный ISO не являются bootstrap-источником для основной сборки. Rootfs строится из проверенных metadata и RPM.
- Сначала используется ALT Package Registry Forgejo:
https://git.wetgrape.su/api/packages/hermes/alt/multi-alt/p11/stable.repo; официальная ветка ALT P11 остаётся fallback. - Выбор источника доказывается тестом коллизии пакетов, а не только порядком строк в
sources.list. - Сборка rootfs, RPM и ISO должна выполняться в Forgejo Actions на
git.wetgrape.su. - Любая публикация пакета/образа требует проверок, provenance и явной стадии promotion; существующую стабильную версию нельзя перезаписывать.
Уже существующие активы
| Компонент | Состояние | Роль в multi-alt |
|---|---|---|
hermes/ember |
Zig 0.16, early 0.2.0; initial ALT RPM bootstrap работает |
Основной rootfs/image engine |
hermes/crucible |
Экспериментальный Rust-аналог hasher | Поведенческий прототип; конечная реализация переносится на Zig |
hermes/crucible-builder |
Docker/CI image | Временная инфраструктура; должна перейти на Zig Crucible и Ember-built root |
hermes/forgejo-publish |
JavaScript publisher | Прототип API; project-owned publisher переписывается на Zig |
kiper220/dots-hyprland |
Активные Hyprland dots | Версионированный optional bundle второго этапа установки |
ember на момент создания проекта имеет незакоммиченные изменения. Они не принадлежат этому orchestration-репозиторию и не должны автоматически изменяться, коммититься или отбрасываться.
MVP
MVP — два загружаемых x86_64 UEFI ISO и воспроизводимая цепочка сборки:
- Online ISO — маленькая live/TTY-среда; все пакеты целевой системы загружаются во время установки.
- Offline ISO — содержит проверенный package pool для всей поддерживаемой MVP-матрицы; сеть не обязательна, но перед установкой или после неё можно обновиться.
- Один общий Zig installer работает из TTY и live-среды.
- Доступны режимы без DE, Hyprland и stock KDE Plasma из P11.
- Доступны редакции
minimal,workstation,domain,virtualization. - DE выбирается ровно один раз: на live-этапе или на этапе доустановки.
- Dots-файлы и их пакетные зависимости устанавливаются только на втором этапе и только по явному выбору пользователя.
- Свежий Hyprland и необходимый совместимый стек собираются собственным Zig-сборщиком RPM в Forgejo CI и публикуются в native ALT registry.
- Итоговые установки проходят автоматические QEMU smoke-тесты и ручной acceptance gate.
Точный контракт: docs/MVP.md. Архитектура: docs/ARCHITECTURE.md. Обязательный worktree → PR → independent review/merge lifecycle: docs/WORKFLOW.md. Typed resolver профилей: docs/PROFILE-COMPOSITION.md. Locked ALT P11 Base layer и его acceptance validators: docs/BASE-PROFILE.md. Общая state machine установщика и InstallPlan: docs/INSTALLER-CORE.md. Read-only hardware discovery и disk safety gate: docs/HARDWARE-DISCOVERY.md. Pure automatic erase-disk planner и storage schema v1: docs/STORAGE-PLAN.md. Confirmed destructive executor, exact allowlist, CI loop/QEMU gate и journal/rollback limits: docs/STORAGE-EXECUTOR.md. Замороженный baseline интерфейсов и реестр рисков: docs/ARCHITECTURE-BASELINE.md. Threat/trust/reproducibility model: docs/THREAT-MODEL.md. Решения и отложенный scope: docs/DECISIONS.md. Владение компонентами и миграция репозиториев: ADR-012.
Не входит в первый MVP
- собственная реализация apt/libapt;
- собственная реализация RPM DB и полного transaction engine;
- Secure Boot production key ceremony;
- ARM64 и legacy BIOS;
- графический toolkit установщика, отдельный от общей TTY-модели;
- полный каталог DE/редакций вне MVP-матрицы.
Эти направления остаются частью продукта, но начнутся после доказанного end-to-end MVP, чтобы не блокировать установочный образ многолетней реализацией package manager ABI.
Лицензия
Оригинальный код и документация этого репозитория распространяются по MIT; импортированные fixtures, upstream sources и содержимое собираемых RPM сохраняют собственные лицензии и attribution. См. LICENSE и component policy в ADR-012.