# Module: Nexus Shell

**Placering:** `source/nexus-shell/`  
**Fase:** 2  
**Type:** Desktop application (client)

---

## Funktioner

- Custom login-skærm (OIDC + MFA)
- Desktop-miljø (baggrund, widgets, taskbar)
- Launcher (søg, pinned, seneste apps)
- App Center UI (browse, install, mine apps)
- Notifikationscenter
- Brugerindstillinger (tema, widgets, profil)
- Systemstatus (netværk, device trust, compliance)
- App-start med policy-check via Agent

---

## Ansvar

| Ansvar | Ejer |
|--------|------|
| Bruger-desktop oplevelse | Shell |
| Login UI og session | Shell (delegér auth til Identity) |
| Launcher og app-start | Shell |
| Widget-rendering | Shell |
| App Center visning | Shell (data fra App Center API) |

---

## Datamodel (lokal)

```
UserProfile (cached)
├── user_id: UUID
├── display_name: string
├── avatar_url: string
├── theme: light|dark
├── widgets: JSON (layout + config)
├── pinned_apps: UUID[]
├── recent_apps: JSON[]

LauncherIndex (SQLite)
├── app_id: UUID
├── name: string
├── icon_path: string
├── category: string
├── executable_path: string
├── last_used_at: timestamp
```

---

## Afhængigheder

| Afhænger af | Hvorfor |
|-------------|---------|
| Nexus Identity | Login, MFA, session tokens |
| Nexus Agent | Policy status, app install, device info |
| App Center API | Katalog, install requests |
| Control Center API | Profil sync |

| Afhænges af af | Hvorfor |
|----------------|---------|
| Brugeren | Primær interface |

---

*Se: [ui-ux/DESKTOP_LAYOUT.md](../ui-ux/DESKTOP_LAYOUT.md) · [ui-ux/LAUNCHER_DESIGN.md](../ui-ux/LAUNCHER_DESIGN.md)*
