KiteConfigDesktopExtension

Compose Desktop settings inside kiteConfig { desktop { ... } }.

The root block holds the truth about your app: its name, its version, its ID. This block holds only what a desktop installer needs on top of that.

kiteConfig {
appName = "Jetzy"
id("com.example.jetzy") { desktop { suffix = ".desktop" } }
version("1.4.0") { desktop { reupload = 2 } }
}

Opening the block is the opt-in. desktop { } on its own is enough, and every property below already has a working default.

The three installer families

One app produces three very different packages, and each one names things its own way. KiteConfig derives all three from the values you already set.

FamilyTakes its identity fromIts own dial here
macOS .dmg and .pkgroot appName and the bundle IDlogo { desktop { roundMac } }
Windows .msi and .exeroot appName and the versionderiveUpgradeUuid
Linux .deb, .rpm, AppImagea Debian-legal slug of appNamelinuxPackageName

Installer icons are not a dial here: they are generated whenever logo { } carries art that flows to desktop.

See also

to pick which projects this applies to.

for the build-number formula every platform shares.

for the art that becomes installer icons.

Constructors

Link copied to clipboard
constructor()

Properties

Link copied to clipboard
abstract val deriveUpgradeUuid: Property<Boolean>

Whether KiteConfig fills the Windows upgrade code for you, derived from the root id.

Link copied to clipboard
abstract val linuxPackageName: Property<String>

The Debian package name used by the .deb, .rpm, and AppImage builds, for example "jetzy".

Link copied to clipboard
override val platform: KitePlatform