Nucleus

Welcome to Nucleus 2.2

Nucleus is the production desktop layer for Compose Multiplatform — native OS integration and packaging for Kotlin teams.

Nucleus is the production desktop layer for Compose Multiplatform apps written in Kotlin. Compose draws the UI; Nucleus adds native window decorations, operating-system integration, code signing, installers, and store pipelines. You configure the whole build through a single Gradle DSL, and the runtime runs either as a GraalVM native image or on the JVM.

If you already ship Android or KMP, Nucleus is how the same team ships desktop — without a second stack.

Features

  • One language across platforms. Share Kotlin code with your Android, iOS, and web apps, with Compose UI on top.
  • Native windowing (Tao). Wayland support, multi-touch, pen input, and window scaffold chrome APIs.
  • Two runtimes, one DSL. Run as a GraalVM Native Image, or on the JVM with an AOT cache (JDK 25+).
  • Over 40 OS integration modules. Notifications, system tray, dock menus, dark mode, global hotkeys, and taskbar integration, each added as an opt-in dependency.
  • 18 packaging formats. DMG, PKG, MSI, AppX, DEB, RPM, AppImage, Snap, and Flatpak among them, with code signing and notarization.
  • Native design systems. macOS 26, Fluent, and Yaru on Maven Central, plus Jewel and Material adapters in this repo. See toolkits.

To build your first app, follow the quickstart.

What's new in 2.2

  • Window scaffold and chrome. Full-window layouts, drag areas, WindowControls, macOS glass regions, Windows Mica/Acrylic. See Window scaffold.
  • GraalVM task parity. runGraalvmNative quick-build, distributable tasks aligned with the JVM pipeline, GC selection.
  • AccessKit on Windows and scheme-only deep links.
  • Design-system releases. Fluent, macOS 26, and Yaru Compose UI libraries published with Nucleus-backed decorated windows.

Full list: Changelog.

What's next