# phantomslyrak/omarchy-saga-edition architecture

> Architecture diagram of the GitHub repository phantomslyrak/omarchy-saga-edition, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-11-11). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/phantomslyrak/omarchy-saga-edition
- Repository: https://github.com/phantomslyrak/omarchy-saga-edition

## Overview

Omarchy Saga Edition is a set of four desktop-session components: boot visuals and recovery, a customized lock experience, an SDDM login theme, and a Hyprland desktop-reveal patch. The README identifies each component’s purpose, but does not describe a single end-to-end runtime pipeline between them. The map preserves those distinct product stages and their documented capabilities; source evidence shows the lock manager invoking renderer behavior and the lock-screen integration using shared handover logic. Other internal wiring is omitted where excerpts do not establish it.

Main entry points: [`components/sagalock/integration/lock-screen.py`](https://github.com/phantomslyrak/omarchy-saga-edition/blob/main/components/sagalock/integration/lock-screen.py) (Lock host handover), [`components/desktop-reveal/source/src/managers/SessionLockManager.cpp`](https://github.com/phantomslyrak/omarchy-saga-edition/blob/main/components/desktop-reveal/source/src/managers/SessionLockManager.cpp) (Lock manager), [`components/sagalock/integration/handover.py`](https://github.com/phantomslyrak/omarchy-saga-edition/blob/main/components/sagalock/integration/handover.py) (Plugin handover), [`components/desktop-reveal/source/src/render/Renderer.cpp`](https://github.com/phantomslyrak/omarchy-saga-edition/blob/main/components/desktop-reveal/source/src/render/Renderer.cpp) (Renderer implementation)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_boot["Boot and Recovery"]
  node_boot_visuals["Plymouth visuals"]
  node_boot_layouts["Boot layouts<br/>[BootArt.qml.in]"]
  node_boot_fallback["Text fallback"]
  node_boot_install["UKI install kit<br/>[install.py]"]
  node_boot_rollback["Install rollback<br/>[rollback.py]"]
end

subgraph group_lock["Lock Experience"]
  node_lock_host["Lock host handover<br/>[lock-screen.py]"]
  node_lock_sync["Plugin handover<br/>[handover.py]"]
  node_lock_design["Lock designs<br/>[SagaLock.qml]"]
  node_lock_telemetry["Telemetry model<br/>[TelemetryModel.js]"]
  node_lock_weather["Kazan weather<br/>[weather_kazan.py]"]
end

subgraph group_login["Login Theme"]
  node_sddm_theme["SDDM login theme<br/>[Main.qml]"]
  node_sddm_install["Theme procedures<br/>[install.sh]"]
end

subgraph group_reveal["Desktop Reveal"]
  node_reveal_session["Session controller<br/>[saga-session.py]"]
  node_reveal_manager["Lock manager"]
  node_reveal_renderer["Renderer implementation<br/>[Renderer.cpp]"]
  node_reveal_api["Renderer API<br/>[Renderer.hpp]"]
  node_reveal_policy["Reveal policy"]
end

node_user(("Desktop user"))
node_weather_service["Weather service"]

node_lock_host -->|"uses handover"| node_lock_sync
node_reveal_manager -->|"invokes renderer"| node_reveal_renderer

click node_boot_visuals "https://github.com/phantomslyrak/omarchy-saga-edition/blob/main/components/sagaboot/theme/omarchy-boot.script"
click node_boot_layouts "https://github.com/phantomslyrak/omarchy-saga-edition/blob/main/components/sagaboot/source/BootArt.qml.in"
click node_boot_fallback "https://github.com/phantomslyrak/omarchy-saga-edition/blob/main/components/sagaboot/deployment/patch/mkinitcpio.conf.d/zz-plymouth-fallback.conf"
click node_boot_install "https://github.com/phantomslyrak/omarchy-saga-edition/blob/main/components/sagaboot/deployment/install-kit/install.py"
click node_boot_rollback "https://github.com/phantomslyrak/omarchy-saga-edition/blob/main/components/sagaboot/deployment/install-kit/rollback.py"
click node_lock_host "https://github.com/phantomslyrak/omarchy-saga-edition/blob/main/components/sagalock/integration/lock-screen.py"
click node_lock_sync "https://github.com/phantomslyrak/omarchy-saga-edition/blob/main/components/sagalock/integration/handover.py"
click node_lock_design "https://github.com/phantomslyrak/omarchy-saga-edition/blob/main/components/sagalock/lock-designs/SagaLock.qml"
click node_lock_telemetry "https://github.com/phantomslyrak/omarchy-saga-edition/blob/main/components/sagalock/lock-designs/saga/TelemetryModel.js"
click node_lock_weather "https://github.com/phantomslyrak/omarchy-saga-edition/blob/main/components/sagalock/lock-designs/saga/weather_kazan.py"
click node_sddm_theme "https://github.com/phantomslyrak/omarchy-saga-edition/blob/main/components/sagasddm/saga-sddm/Main.qml"
click node_sddm_install "https://github.com/phantomslyrak/omarchy-saga-edition/blob/main/components/sagasddm/install.sh"
click node_reveal_session "https://github.com/phantomslyrak/omarchy-saga-edition/blob/main/components/desktop-reveal/session/alternative/saga-session.py"
click node_reveal_manager "https://github.com/phantomslyrak/omarchy-saga-edition/blob/main/components/desktop-reveal/source/src/managers/SessionLockManager.cpp"
click node_reveal_renderer "https://github.com/phantomslyrak/omarchy-saga-edition/blob/main/components/desktop-reveal/source/src/render/Renderer.cpp"
click node_reveal_api "https://github.com/phantomslyrak/omarchy-saga-edition/blob/main/components/desktop-reveal/source/src/render/Renderer.hpp"
click node_reveal_policy "https://github.com/phantomslyrak/omarchy-saga-edition/blob/main/components/desktop-reveal/source/src/render/SagaRevealPolicy.hpp"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_boot_visuals,node_boot_layouts,node_boot_fallback,node_boot_install,node_boot_rollback,node_user toneBlue
class node_lock_host,node_lock_sync,node_lock_design,node_lock_telemetry,node_lock_weather toneAmber
class node_sddm_theme,node_sddm_install toneMint
class node_reveal_session,node_reveal_manager,node_reveal_renderer,node_reveal_api,node_reveal_policy toneRose
class node_weather_service toneIndigo
```

## Components

### Boot and Recovery

- [Plymouth visuals](https://github.com/phantomslyrak/omarchy-saga-edition/blob/main/components/sagaboot/theme/omarchy-boot.script): `components/sagaboot/theme/omarchy-boot.script`
- [Boot layouts](https://github.com/phantomslyrak/omarchy-saga-edition/blob/main/components/sagaboot/source/BootArt.qml.in): `components/sagaboot/source/BootArt.qml.in`
- [Text fallback](https://github.com/phantomslyrak/omarchy-saga-edition/blob/main/components/sagaboot/deployment/patch/mkinitcpio.conf.d/zz-plymouth-fallback.conf): `components/sagaboot/deployment/patch/mkinitcpio.conf.d/zz-plymouth-fallback.conf`
- [UKI install kit](https://github.com/phantomslyrak/omarchy-saga-edition/blob/main/components/sagaboot/deployment/install-kit/install.py): `components/sagaboot/deployment/install-kit/install.py`
- [Install rollback](https://github.com/phantomslyrak/omarchy-saga-edition/blob/main/components/sagaboot/deployment/install-kit/rollback.py): `components/sagaboot/deployment/install-kit/rollback.py`

### Lock Experience

- [Lock host handover](https://github.com/phantomslyrak/omarchy-saga-edition/blob/main/components/sagalock/integration/lock-screen.py): `components/sagalock/integration/lock-screen.py`
- [Plugin handover](https://github.com/phantomslyrak/omarchy-saga-edition/blob/main/components/sagalock/integration/handover.py): `components/sagalock/integration/handover.py`
- [Lock designs](https://github.com/phantomslyrak/omarchy-saga-edition/blob/main/components/sagalock/lock-designs/SagaLock.qml): `components/sagalock/lock-designs/SagaLock.qml`
- [Telemetry model](https://github.com/phantomslyrak/omarchy-saga-edition/blob/main/components/sagalock/lock-designs/saga/TelemetryModel.js): `components/sagalock/lock-designs/saga/TelemetryModel.js`
- [Kazan weather](https://github.com/phantomslyrak/omarchy-saga-edition/blob/main/components/sagalock/lock-designs/saga/weather_kazan.py): `components/sagalock/lock-designs/saga/weather_kazan.py`

### Login Theme

- [SDDM login theme](https://github.com/phantomslyrak/omarchy-saga-edition/blob/main/components/sagasddm/saga-sddm/Main.qml): `components/sagasddm/saga-sddm/Main.qml`
- [Theme procedures](https://github.com/phantomslyrak/omarchy-saga-edition/blob/main/components/sagasddm/install.sh): `components/sagasddm/install.sh`

### Desktop Reveal

- [Session controller](https://github.com/phantomslyrak/omarchy-saga-edition/blob/main/components/desktop-reveal/session/alternative/saga-session.py): `components/desktop-reveal/session/alternative/saga-session.py`
- [Lock manager](https://github.com/phantomslyrak/omarchy-saga-edition/blob/main/components/desktop-reveal/source/src/managers/SessionLockManager.cpp): `components/desktop-reveal/source/src/managers/SessionLockManager.cpp`
- [Renderer implementation](https://github.com/phantomslyrak/omarchy-saga-edition/blob/main/components/desktop-reveal/source/src/render/Renderer.cpp): `components/desktop-reveal/source/src/render/Renderer.cpp`
- [Renderer API](https://github.com/phantomslyrak/omarchy-saga-edition/blob/main/components/desktop-reveal/source/src/render/Renderer.hpp): `components/desktop-reveal/source/src/render/Renderer.hpp`
- [Reveal policy](https://github.com/phantomslyrak/omarchy-saga-edition/blob/main/components/desktop-reveal/source/src/render/SagaRevealPolicy.hpp): `components/desktop-reveal/source/src/render/SagaRevealPolicy.hpp`

### Other components

- **Desktop user**
- **Weather service**

## Connections

- Lock host handover → Plugin handover: uses handover (evidence: `components/sagalock/integration/lock-screen.py`)
- Lock manager → Renderer implementation: invokes renderer (evidence: `components/desktop-reveal/source/src/managers/SessionLockManager.cpp`)
