A simple Media Hub
Find a file
2026-06-09 01:18:20 +05:30
.github update CONTRIBUTING.md 2026-05-13 18:38:21 +05:30
composeApp virtualise soruce list 2026-06-09 01:03:41 +05:30
Docs/Stremio addons refer kmp init 2026-03-04 09:00:00 +05:30
gradle feat: init desktop storafe 2026-06-08 03:12:43 +05:30
iosApp bump version 2026-06-07 16:35:20 +05:30
libass-android@c10b71ab8b fix: update addon fetch timeout 2026-04-10 20:09:45 +05:30
MPVKit@0e5e4a2f9d feat: player source identity management and UI controls 2026-06-08 19:24:25 +05:30
scripts Refactor P2P streaming implementation and enhance torrent metadata handling 2026-06-04 15:55:25 +05:30
vendor ref(player) : into smaller chunks 2026-06-06 23:04:22 +05:30
.gitignore Ignore local analysis notes 2026-05-30 03:01:36 +05:30
.gitmodules update deps 2026-04-23 00:59:28 +05:30
build.gradle.kts kmp init 2026-03-04 09:00:00 +05:30
CONTRIBUTING.md update CONTRIBUTING.md 2026-05-13 18:38:21 +05:30
gradle.properties fix: adjust behaviour logic of streamlink caching 2026-05-12 12:22:58 +05:30
gradlew kmp init 2026-03-04 09:00:00 +05:30
gradlew.bat kmp init 2026-03-04 09:00:00 +05:30
LICENSE update readme 2026-04-19 00:35:34 +05:30
README.md update readme 2026-06-09 01:18:20 +05:30
settings.gradle.kts kmp init 2026-03-04 09:00:00 +05:30

Nuvio

License

Nuvio Desktop is a desktop media hub built with Kotlin Multiplatform and Compose Multiplatform.
Desktop app in development

About

Nuvio Desktop brings the Nuvio media experience to desktop. It keeps the playback-focused browsing, collection, watch progress, downloads, and Stremio addon ecosystem integration from Nuvio while adapting the app for desktop input, desktop storage, and native desktop playback.

The desktop app is built from the shared Kotlin Multiplatform codebase in composeApp, with desktop-specific code in composeApp/src/desktopMain. Desktop packaging is configured through Gradle, with macOS development builds currently active and Windows and Linux support planned later.

Platform Status

  • macOS: actively being developed.
  • Windows: planned later.
  • Linux: planned later.

Installation

Public desktop releases are not available yet. Current builds are development builds.

When releases are ready, desktop builds will be published from the Nuvio Desktop repository.

Development

git clone https://github.com/NuvioMedia/NuvioDesktop.git
cd NuvioDesktop
git checkout Dev
./gradlew :composeApp:run

Useful commands:

./gradlew :composeApp:compileKotlinDesktop
./gradlew :composeApp:packageDmg

The native player bridge currently uses MPVKit macOS libmpv artifacts. If Gradle reports missing MPVKit artifacts, build the macOS runtime before running the app:

cd MPVKit
make build platform=macos

You can also point Gradle at a separate MPVKit checkout:

./gradlew :composeApp:run -Pnuvio.mpvkit.dir=/absolute/path/to/MPVKit

Project Structure

  • composeApp/ contains the Kotlin Multiplatform and Compose Multiplatform app code.
  • composeApp/src/commonMain/ contains shared UI, features, repositories, and platform-agnostic logic.
  • composeApp/src/desktopMain/ contains desktop-specific app code, storage, settings, player integration, and desktop resources.
  • composeApp/src/desktopMain/native/macos/ contains the macOS native player bridge.
  • composeApp/src/desktopMain/resources/player-ui/ contains the desktop native player control UI.
  • composeApp/src/desktopMain/resources/icons/ contains desktop app icons for macOS, Windows, and Linux packaging.

Desktop Player

Nuvio Desktop uses a native desktop player path with MPVKit/libmpv integration and desktop-owned controls. The desktop player is separate from the mobile Compose player surface so desktop behavior can match desktop input, keyboard, windowing, and playback expectations.

Nuvio functions solely as a client-side interface for browsing metadata and playing media provided by user-installed extensions and/or user-provided sources. It is intended for content the user owns or is otherwise authorized to access.

Nuvio is not affiliated with any third-party extensions, catalogs, sources, or content providers. It does not host, store, or distribute any media content.

For comprehensive legal information, including the full disclaimer, third-party extension policy, and DMCA/Copyright information, please visit the Legal & Disclaimer Page.

Built With

  • Kotlin Multiplatform
  • Compose Multiplatform for Desktop
  • Kotlin
  • MPVKit and libmpv
  • Native macOS integrations