Об этом проекте
Omega предлагает надёжный, типизированный и декларативный подход к расширению среды рабочего стола Omarchy с использованием Rust. Рассматривая вашу конфигурацию как стандартное рабочее пространство Cargo, Omega позволяет разработчикам писать виджеты, элементы управления и автоматизацию в виде независимых пакетов Rust. Эта архитектура гарантирует, что каждый плагин работает в своём отдельном процессе, поэтому сбой одного плагина не приводит к падению всей оболочки, что повышает стабильность системы.
Среда заполняет разрыв между пользовательскими плагинами и базовым состоянием системы. Omega контролирует эти процессы и организует общие системные интеграции, позволяя вашему коду на Rust сосредоточиться на описании того, что должно быть отображено, и как должны вести себя взаимодействия. Конфигурация строго структурирована: каталог `system/` определяет макет рабочего стола и автоматизацию, а отдельные пакеты в `units/` реализуют конкретные плагины. Эти плагины предоставляют библиотеки, которые позволяют системной декларации ссылаться на их настройки и поверхности через строгие типы Rust, обеспечивая безопасность на этапе компиляции и согласованность.
Ключевой особенностью Omega является её способность управлять самой конфигурацией оболочки. После принятия декларация на Rust становится источником истины для всего файла `shell.json`. Это позволяет бесшовно интегрировать родные виджеты Omarchy и пользовательские плагины Omega в единый макет. CLI `omega` поддерживает этот рабочий процесс с помощью команд, таких как `omega init` для настройки рабочего пространства, `omega new` для создания пакетов плагинов и `omega build` для компиляции и активации конфигураций. Расширенные команды, такие как `omega shell diff` и `omega shell apply`, помогают управлять конфликтами между внешними правками и сгенерированной конфигурацией, гарантируя сохранение декларативного характера настройки.
Разработчики могут создавать интерактивные пользовательские интерфейсы с помощью декларативных представлений. Например, виджет может содержать типизированные ссылки на системные состояния (такие как `Audio` или `Volume`), а команды могут быть определены для изменения этих состояний. Omega автоматически выводит необходимые подписки и разрешения из этих определений типов. Среда также поддерживает горячую перезагрузку во время разработки через `omega build --watch` и предоставляет инструменты для проверки статуса демона, логов и состояния плагинов через командную строку. Это делает Omega мощным инструментом для пользователей, которые хотят получить глубокий, программный контроль над своей средой рабочего стола, используя при этом безопасность и производительность Rust.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.