API Reference / @gtkx/config / @gtkx/config / DeployOptions
Type Alias: DeployOptions
DeployOptions =
object
Defined in: packages/config/src/deploy.ts:876
The deploy options: application metadata, bundled runtime settings, and packaging options for gtkx deploy.
Properties
appimage?
optionalappimage?:DeployAppImageOptions
Defined in: packages/config/src/deploy.ts:1194
AppImage packaging options.
Default Value
{}
architectures?
optionalarchitectures?: ("arm64"|"x64")[]
Defined in: packages/config/src/deploy.ts:888
Target CPU architectures. gtkx deploy --arch overrides it.
Default Value
The host architecture, arm64 or x64
binaryName?
optionalbinaryName?:string
Defined in: packages/config/src/deploy.ts:916
Launcher command name, also used as the package name. A configured value is normalized the same way as the default.
Default Value
The package.json name without its scope, lowercased with hyphens for other characters; or the last segment of the application ID
branding?
optionalbranding?:DeployBrandingOptions
Defined in: packages/config/src/deploy.ts:1043
Primary branding colors included in AppStream metadata.
Default Value
None: the metadata has no branding element
categories?
optionalcategories?:string[]
Defined in: packages/config/src/deploy.ts:963
Freedesktop application categories used by launchers, software centers, and package metadata.
Default Value
[]
Example
categories: ["Office", "ProjectManagement"],contentRating?
optionalcontentRating?:Record<string,"intense"|"mild"|"moderate"|"none">
Defined in: packages/config/src/deploy.ts:1053
OARS 1.1 content-rating attributes mapped to their intensities.
Default Value
{}: an empty OARS 1.1 rating, which declares no objectionable content
Example
contentRating: { "social-chat": "intense" },copyright?
optionalcopyright?:string
Defined in: packages/config/src/deploy.ts:1001
Copyright notice.
Default Value
Copyright © <year> <developer name>, with the year of the build date
deb?
optionaldeb?:DeployDebOptions
Defined in: packages/config/src/deploy.ts:1200
Debian package metadata and compression options.
Default Value
{}
depends?
optionaldepends?:DeployPackageRelationOptions
Defined in: packages/config/src/deploy.ts:1158
Additional Debian and RPM dependencies merged with automatically detected dependencies.
Default Value
None: only the detected dependencies, such as libgtk-4-1 on Debian
description?
optionaldescription?:string[]
Defined in: packages/config/src/deploy.ts:947
Long description as paragraphs.
Default Value
deploy.summary as the only paragraph, also when the array is empty
desktopActions?
optionaldesktopActions?:Record<string,DeployDesktopActionOptions>
Defined in: packages/config/src/deploy.ts:1108
Desktop launcher actions keyed by action ID. With isDbusActivatable, the application must register an app.<id> action for each one.
Default Value
{}
Example
desktopActions: { today: { name: "Today", args: ["tasks://today"] } },desktopEntry?
optionaldesktopEntry?:Record<string,string>
Defined in: packages/config/src/deploy.ts:1115
Additional desktop entry keys, overriding non-reserved generated values. DBusActivatable and Version are rejected; use deploy.isDbusActivatable for D-Bus activation.
Default Value
{}
developer?
optionaldeveloper?:DeployDeveloperOptions
Defined in: packages/config/src/deploy.ts:975
Developer identity and package maintainer details.
Default Value
{}: the details come from the author in package.json
epoch?
optionalepoch?:number
Defined in: packages/config/src/deploy.ts:934
Non-negative Debian and RPM version epoch.
Default Value
None: package metadata has no epoch
execArgs?
optionalexecArgs?:string[]
Defined in: packages/config/src/deploy.ts:1065
Application arguments included in the desktop entry's launch command.
Default Value
[]
extraFiles?
optionalextraFiles?:Record<string,string|DeployExtraFileOptions>
Defined in: packages/config/src/deploy.ts:1142
Extra files keyed by destination inside the install prefix, without a leading slash or a .. segment. Each value is a source path relative to the project root, or a DeployExtraFileOptions entry that also sets the file mode. A directory source installs every file below it at the same path below the destination; without a mode, each file is executable when its source is. Scripts installed this way, such as a helper command's launcher, can run the bundled Node.js runtime at lib/<binaryName>/node in every prebuilt target and in source Flatpaks.
Default Value
{}
Example
extraFiles: { "share/tasks/templates": "data/templates" },fileAssociations?
optionalfileAssociations?:DeployFileAssociationOptions[]
Defined in: packages/config/src/deploy.ts:1091
File extensions and MIME types registered for the application.
Default Value
[]
flatpak?
optionalflatpak?:DeployFlatpakOptions
Defined in: packages/config/src/deploy.ts:1206
Flatpak runtime, sandbox, build, and distribution options.
Default Value
{}
genericName?
optionalgenericName?:string
Defined in: packages/config/src/deploy.ts:908
Generic application description shown by desktop launchers, such as Text Editor.
Default Value
None: the desktop entry has no GenericName key
homepage?
optionalhomepage?:string
Defined in: packages/config/src/deploy.ts:1007
Application homepage URL.
Default Value
The homepage in package.json, if set
isDbusActivatable?
optionalisDbusActivatable?:boolean
Defined in: packages/config/src/deploy.ts:1127
Enable D-Bus activation in the desktop entry and generate a session bus service file.
Default Value
false
keywords?
optionalkeywords?:string[]
Defined in: packages/config/src/deploy.ts:953
Search keywords included in the desktop entry and AppStream metadata.
Default Value
[]
launcherEnv?
optionallauncherEnv?:Record<string,string>
Defined in: packages/config/src/deploy.ts:1075
Environment variables exported by the generated launcher. Keys must be POSIX environment names.
Default Value
{}
Example
launcherEnv: { GSK_RENDERER: "ngl" },license?
optionallicense?:string
Defined in: packages/config/src/deploy.ts:982
Application license as an SPDX expression. Deployment fails when neither this nor the package.json license is set.
Default Value
The license in package.json
licenseFile?
optionallicenseFile?:string
Defined in: packages/config/src/deploy.ts:989
License file path relative to the project root, installed with the application.
Default Value
The first of LICENSE, LICENSE.md, LICENSE.txt, COPYING and COPYING.md in the project root; none when no such file exists
metadataLicense?
optionalmetadataLicense?:string
Defined in: packages/config/src/deploy.ts:995
SPDX license expression for the AppStream metadata.
Default Value
"CC0-1.0"
metainfoExtra?
optionalmetainfoExtra?:string[]
Defined in: packages/config/src/deploy.ts:1121
Additional XML fragments appended to the AppStream component.
Default Value
[]
mimeTypes?
optionalmimeTypes?:string[]
Defined in: packages/config/src/deploy.ts:969
Supported MIME types, combined with types from file associations and URL protocols.
Default Value
[]
minimumLibraryVersions?
optionalminimumLibraryVersions?:Record<string,string>
Defined in: packages/config/src/deploy.ts:1152
Minimum runtime library versions keyed by GIR library ID, used when deriving package dependencies.
Default Value
{}: library dependencies carry no version constraint
Example
minimumLibraryVersions: { "Adw-1": "1.8", "Gtk-4.0": "4.20" },name?
optionalname?:string
Defined in: packages/config/src/deploy.ts:902
Display name.
Default Value
The package.json name without its scope, title-cased with spaces for hyphens and underscores, such as Tasks App for @example/tasks-app; or the last segment of the application ID
node?
optionalnode?:DeployNodeOptions
Defined in: packages/config/src/deploy.ts:1176
Node.js runtime bundled with prebuilt packages and launcher compile-cache settings.
Default Value
{}: a downloaded Node.js 26.8.2, stripped, with the compile cache on
nodeFlags?
optionalnodeFlags?:string[]
Defined in: packages/config/src/deploy.ts:1085
Node.js flags placed before the application bundle in the generated launcher.
Default Value
[]
Example
nodeFlags: ["--max-old-space-size=4096"],outDir?
optionaloutDir?:string
Defined in: packages/config/src/deploy.ts:895
Deployment directory relative to the project root, with packages in its out directory. gtkx deploy --out overrides it.
Default Value
"build"
protocols?
optionalprotocols?:string[]
Defined in: packages/config/src/deploy.ts:1097
URL schemes handled by the application, registered as x-scheme-handler MIME types.
Default Value
[]
relations?
optionalrelations?:DeployRelationsOptions
Defined in: packages/config/src/deploy.ts:1164
Additional package relationships for Debian and RPM.
Default Value
{}: no relations besides depends
release?
optionalrelease?:string
Defined in: packages/config/src/deploy.ts:928
Debian packaging revision and RPM release.
Default Value
"1"
releases?
optionalreleases?:DeployReleaseOptions[]
Defined in: packages/config/src/deploy.ts:1059
AppStream release history, sorted newest first.
Default Value
One release for the application version, dated on the build day or by SOURCE_DATE_EPOCH
rpm?
optionalrpm?:DeployRpmOptions
Defined in: packages/config/src/deploy.ts:1212
RPM package metadata and compression options.
Default Value
{}
screenshotBaseUrl?
optionalscreenshotBaseUrl?:string
Defined in: packages/config/src/deploy.ts:1037
Base URL for screenshot files.
Default Value
The raw file URL of the project's GitHub or GitLab origin remote on its default branch; deployment fails without one when a screenshot sets file
screenshots?
optionalscreenshots?:DeployScreenshotOptions[]
Defined in: packages/config/src/deploy.ts:1030
Screenshots for software centers. Each entry requires a url or file.
Default Value
[]
scripts?
optionalscripts?:DeployScriptsOptions
Defined in: packages/config/src/deploy.ts:1170
Installation and removal scripts for Debian and RPM packages.
Default Value
{}: no maintainer scripts
signing?
optionalsigning?:DeploySigningOptions
Defined in: packages/config/src/deploy.ts:1188
Per-format package signing options.
Default Value
{}: every package is unsigned
summary?
optionalsummary?:string
Defined in: packages/config/src/deploy.ts:941
Single-line summary without a trailing period. Deployment fails when neither this nor the package.json description is set.
Default Value
The first line of the description in package.json
targets?
optionaltargets?: ("appimage"|"deb"|"flatpak"|"rpm")[]
Defined in: packages/config/src/deploy.ts:882
Package formats to build. gtkx deploy --target overrides it.
Default Value
["flatpak"]
tools?
optionaltools?:DeployToolsOptions
Defined in: packages/config/src/deploy.ts:1182
Overrides for executables used to build packages.
Default Value
{}: gtkx deploy downloads the pinned tools it needs
urls?
optionalurls?:Partial<Record<"bugtracker"|"contact"|"contribute"|"donation"|"faq"|"help"|"translate"|"vcs-browser",string>>
Defined in: packages/config/src/deploy.ts:1017
Additional AppStream links keyed by their purpose, such as bugtracker or help.
Default Value
{}
Example
urls: { bugtracker: "https://github.com/example/tasks/issues" },version?
optionalversion?:string
Defined in: packages/config/src/deploy.ts:922
Application version. Deployment fails when neither this nor the package.json version is set.
Default Value
The version in package.json