Skip to content

Build from source

Each platform lives in its own repository under the Hasan72341 account. The desktop ports (Windows, macOS, Linux) share one Kotlin Multiplatform engine via the nyora-shared submodule, so clone them recursively.

# desktop ports bundle the shared engine as a submodule
git clone --recurse-submodules https://github.com/Hasan72341/nyora-linux.git
# (or nyora-windows / nyora-mac / nyora-android / nyora-ios / nyora-web)

Android

Requires Android Studio (Ladybug+) and JDK 17+. Target devices run Android 6.0+.

  1. Open the nyora-android folder in Android Studio and let Gradle sync.
  2. Keep ksp.incremental=false if you hit KSP/caching issues.
  3. Run ▸ Run 'app' (or Shift+F10) to build and deploy.

If a build fails, run ./gradlew clean and restart Android Studio.

Windows

A Compose Multiplatform for Desktop app that bundles its own Java runtime. jpackage produces a self-contained .exe installer for x64 and ARM64 (build each on its native runner). Requires JDK 17+ and WiX Toolset v3 on PATH.

# from nyora-windows/
.\gradlew.bat :desktopApp:packageReleaseExe
# installer lands in desktopApp/build/compose/binaries/main-release/exe/

macOS

A SwiftUI front end over the shared Kotlin engine (run as a bundled helper). The build script assembles Nyora.app with a bundled JRE and produces a .dmg.

# from nyora-mac/
./macApp/scripts/build-dmg.sh
# outputs build/Nyora.dmg (Apple Silicon & Intel)

Linux

A Compose Multiplatform for Desktop app with a bundled JRE. Builds for x86_64 and ARM64 with JDK 17+.

# from nyora-linux/
./gradlew :desktopApp:run                       # run directly

./gradlew :desktopApp:packageReleaseDeb          # Debian / Ubuntu
./gradlew :desktopApp:packageReleaseRpm          # Fedora / RHEL
./gradlew :desktopApp:createReleaseDistributable # portable app image

jpackage produces an artifact for the build host's architecture (x86_64 or ARM64).

iOS & iPadOS

A native SwiftUI app (nyora-ios/NyoraApp) written in Swift. Open the Xcode project and run on a simulator, or build an .ipa for a device.

# from nyora-ios/NyoraApp/
xcodebuild -scheme Nyora -sdk iphonesimulator -configuration Debug build   # simulator

# device build (sideload-ready; re-sign with your own Apple ID)
xcodebuild -scheme Nyora -sdk iphoneos -configuration Release \
  CODE_SIGNING_ALLOWED=NO build

Looking for the web version? There's nothing to build — just open nyoraweb.pages.dev.