Nucleus

April 19, 2026 · View on GitHub

Nucleus

Nucleus

Gradle Plugin Portal Maven Central Pre Merge Checks License: MIT Kotlin Platform

Nucleus is the Kotlin framework for native desktop apps. Combined with Compose Multiplatform, it forms the most complete, most performant, and most deeply integrated desktop application stack ever built.

Java evolved into Kotlin. JavaScript evolved into TypeScript. Desktop development is going through the same shift: Electron was the pioneer. Kotlin + Compose + Nucleus is what comes next.


Why Nucleus

Native on every OS — Your app doesn't emulate native — it is native. Window decorations, notifications, taskbar badges, dock menus, system tray, dark mode, accent colors, global hotkeys — everything behaves exactly as users expect on their OS. And Nucleus makes it simpler than the native APIs themselves — Windows Toast, macOS UserNotifications, Linux D-Bus SNI, Win32 ITaskbarList3, Unity LauncherEntry — all behind clean, intuitive Kotlin APIs. Cross-platform that's easier to use than native development itself — without compromise.

Performance that rivals C++ — The HotSpot JVM is the most advanced JIT compiler ever built, delivering performance approaching C++ and Rust levels — with the simplicity of Kotlin. True parallelism with coroutines and virtual threads, not a single-threaded event loop.

Maximum lightness — GraalVM native image compiles your entire app into a standalone binary. ~0.5s cold start, 100–150 MB RAM, tiny bundle. Compare that to 500 MB–1.5 GB for a typical Electron app.

The most advanced desktop UI — Compose Multiplatform with Skia GPU rendering, reactive state, and shared code across platforms. No frontend/backend split — your UI calls your logic directly. On top sits Jewel, the desktop UI framework behind JetBrains IDEs.


What Nucleus provides

Ship everywhere

  • 16 packaging formats — DMG, PKG, NSIS, MSI, AppX, Portable, DEB, RPM, AppImage, Snap, Flatpak, ZIP, TAR, 7Z
  • Store-ready — Mac App Store, Microsoft Store, Snapcraft, Flathub
  • Code signing & notarization — Windows and macOS, built into the pipeline
  • Auto-update — Check, download, verify, install — all built-in
  • Deep links & file associations — Protocol handlers and file type registration

Feel native

  • Decorated windows — Custom title bar with native window controls on every OS
  • Notifications — Native APIs on macOS, Windows, and Linux
  • Launchers — Badges, progress bars, jump lists, dock menus, quicklists
  • Media controls — OS media overlay integration (MPRIS, Now Playing, SMTC) with play/pause/seek events
  • System integration — Dark mode, accent colors, high contrast, energy management, global hotkeys, taskbar progress, system info

Perform

  • AOT Cache — Near-instant cold startup with a single Gradle flag
  • GraalVM Native Image — Standalone binary with automatic metadata resolution — zero manual config for most apps
  • ProGuard — Built-in release builds with optimization and obfuscation

Go deeper

  • Native Access — Write Kotlin/Native, call it from the JVM. No C, no boilerplate.
  • 30+ runtime modules — Intuitive Kotlin APIs for every OS integration
  • CI/CD ready — Reusable GitHub Actions, 6-runner matrix builds, universal macOS binaries, MSIX bundles

Quick Start

plugins {
    id("io.github.kdroidfilter.nucleus") version "<version>"
}

nucleus.application {
    mainClass = "com.example.MainKt"

    nativeDistributions {
        targetFormats(TargetFormat.Dmg, TargetFormat.Nsis, TargetFormat.Deb)
        packageName = "MyApp"
        packageVersion = "1.0.0"
    }
}
./gradlew run                              # Run locally
./gradlew packageDistributionForCurrentOS  # Build installer for your OS

Runtime Modules

Each module is published independently to Maven Central — use them together or standalone.

ModuleDescription
nucleus.core-runtimePlatform detection, single instance, deep links, executable type
nucleus.aot-runtimeAOT cache mode detection
nucleus.updater-runtimeAuto-update engine with GitHub/S3, progress tracking, SHA-512
nucleus.darkmode-detectorReactive OS dark mode detection
nucleus.system-colorReactive accent color & high contrast detection
nucleus.system-infoCPU, memory, GPU (NVIDIA/AMD/Intel), temperature, network, processes
nucleus.decorated-windowCustom title bar with native controls
nucleus.decorated-window-jewelJewel (IntelliJ theme) integration
nucleus.decorated-window-material2Material 2 integration
nucleus.decorated-window-material3Material 3 integration
nucleus.notification-macosmacOS User Notifications
nucleus.notification-windowsWindows Toast Notifications
nucleus.notification-linuxFreedesktop Desktop Notifications
nucleus.launcher-macosmacOS Dock API — badge, menus
nucleus.launcher-windowsWindows taskbar — badges, jump lists, overlay icons, thumbnail toolbar
nucleus.launcher-linuxUnity Launcher — badge, progress, urgency, quicklist
nucleus.media-controlOS media controls — MPRIS (Linux), Now Playing (macOS), SMTC (Windows)
nucleus.menu-macosNative macOS menu bar
nucleus.freedesktop-iconsType-safe freedesktop icon naming constants
nucleus.taskbar-progressCross-platform taskbar progress bar & attention requests
nucleus.global-hotkeySystem-wide keyboard shortcuts
nucleus.energy-managerEnergy efficiency & screen-awake APIs
nucleus.autolaunchStart the app at user login — MSIX StartupTask, Win32 HKCU\...\Run, SMAppService, systemd user units, Flatpak portal
nucleus.native-sslOS trust store integration
nucleus.native-httpHTTP client with native SSL
nucleus.linux-hidpiNative HiDPI scale detection on Linux
nucleus.graalvm-runtimeNative-image bootstrap, font fixes, automatic resource inclusion

Roadmap

Modules planned for upcoming releases. Contributions welcome.

ModuleDescriptionmacOSWindowsLinux
secure-storageHardware-backed secret storage for tokens, passwords, keysKeychainCredential Manager / DPAPISecret Service (libsecret)
biometric-authPrompt for fingerprint / face authenticationLocalAuthentication (Touch ID / Face ID)Windows Hellofprintd via D-Bus / polkit
share-sheetOS share sheet (URL, file, text)NSSharingServiceWindows DataTransferManagerxdg-desktop-portal Share
power-eventsSleep / wake / lock / unlock / screen-off / battery state eventsNSWorkspace notificationsWM_POWERBROADCAST / WTSRegisterSessionNotificationorg.freedesktop.login1 D-Bus signals
fs-watcherNative filesystem watcher (replaces slow WatchService)FSEventsReadDirectoryChangesWinotify
clipboardRich clipboard — image, files, HTML, RTF — plus change watcherNSPasteboardOleGetClipboard / Clipboard History APIwl-clipboard / X11 selections
screen-captureNative screenshot / screen recordingCGDisplayCreateImage / ScreenCaptureKitWindows Graphics Capture / DXGIxdg-desktop-portal Screenshot

Requirements

RequirementVersionNote
JDK17+ (25+ for AOT cache)JBR 25 recommended
Gradle8.0+
Kotlin2.0+

Documentation

Full documentation at nucleusframework.dev.

License

MIT — See LICENSE.