Skip to content

kdroidFilter/Nucleus

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1,047 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Nucleus

Nucleus

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

Nucleus is the native desktop platform for the JVM. 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. Nucleus + Compose 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
  • 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.

Module Description
nucleus.core-runtime Platform detection, single instance, deep links, executable type
nucleus.aot-runtime AOT cache mode detection
nucleus.updater-runtime Auto-update engine with GitHub/S3, progress tracking, SHA-512
nucleus.darkmode-detector Reactive OS dark mode detection
nucleus.system-color Reactive accent color & high contrast detection
nucleus.system-info CPU, memory, GPU (NVIDIA/AMD/Intel), temperature, network, processes
nucleus.decorated-window Custom title bar with native controls
nucleus.decorated-window-jewel Jewel (IntelliJ theme) integration
nucleus.decorated-window-material2 Material 2 integration
nucleus.decorated-window-material3 Material 3 integration
nucleus.notification-macos macOS User Notifications
nucleus.notification-windows Windows Toast Notifications
nucleus.notification-linux Freedesktop Desktop Notifications
nucleus.launcher-macos macOS Dock API — badge, menus
nucleus.launcher-windows Windows taskbar — badges, jump lists, overlay icons, thumbnail toolbar
nucleus.launcher-linux Unity Launcher — badge, progress, urgency, quicklist
nucleus.menu-macos Native macOS menu bar
nucleus.freedesktop-icons Type-safe freedesktop icon naming constants
nucleus.taskbar-progress Cross-platform taskbar progress bar & attention requests
nucleus.global-hotkey System-wide keyboard shortcuts
nucleus.energy-manager Energy efficiency & screen-awake APIs
nucleus.native-ssl OS trust store integration
nucleus.native-http HTTP client with native SSL
nucleus.linux-hidpi Native HiDPI scale detection on Linux
nucleus.graalvm-runtime Native-image bootstrap, font fixes, automatic resource inclusion

Requirements

Requirement Version Note
JDK 17+ (25+ for AOT cache) JBR 25 recommended
Gradle 8.0+
Kotlin 2.0+

Documentation

Full documentation at nucleus.kdroidfilter.com.

License

MIT — See LICENSE.

About

Nucleus is the native desktop platform for the JVM. Combined with Compose Multiplatform, it forms the most complete, most performant, and most deeply integrated desktop application stack ever built — on any language, any runtime, any platform.

Resources

License

Stars

Watchers

Forks

Sponsor this project

  •  

Contributors