Skip to main content

Linux

Upgrading from v26?

Many configuration keys were renamed or restructured in v27 (e.g. mac.sign, win.sign, electronGet, asar, nativeModules, snapcraft, fileOptions). Run electron-builder migrate-schema to rewrite your config automatically, then skim What's New in v27 and the full v27 Breaking Changes.

The top-level linux key contains a set of options instructing electron-builder on how it should build Linux targets. These options are applicable to any Linux target.

Linux Target Overview​

electron-builder supports a wide range of Linux package formats. Choose based on your target audience and distribution method:

TargetFormatBest ForDistro Support
AppImageSingle fileBroad compatibility, no installUniversal
debDebian packageUbuntu, Debian, MintDebian-based
rpmRPM packageFedora, RHEL, openSUSERed Hat-based
snapSnap packageUbuntu-primaryAny (snapd required)
flatpakFlatpakCross-distro sandboxedAny (flatpak required)
pacmanArch packageArch Linux, ManjaroArch-based
apkAlpine packageAlpine Linux, containersAlpine
freebsdFreeBSD pkgFreeBSDFreeBSD
p5pSolaris IPSSolaris, illumosSolaris-based
zip, 7z, tar.*ArchiveCustom CDN distributionUniversal
dirDirectoryDevelopment/debuggingN/A

The default targets are AppImage and Snap.

Common Linux Configuration​

Options set in the linux key apply to all Linux targets:

linux:
target:
- AppImage
- deb
- rpm
category: Utility # freedesktop.org category
synopsis: "A short description" # one-line description
description: "Full description" # longer description
maintainer: "Name <email>" # package maintainer
vendor: "My Company" # package vendor
mimeTypes:
- application/x-myapp
executableArgs:
- --enable-features=WebContentsFocusOnResize
v27: launcher entrypoint

Every Linux target except flatpak (deb/rpm, AppImage, snap) now launches through a generated <executableName>-launcher shell script rather than invoking the executable directly. executableArgs (and forceX11) are injected into that launcher, and the generated .desktop Exec key points at it (e.g. Exec=/opt/MyApp/MyApp-launcher %U) rather than inlining the args. This makes executableArgs apply consistently across all Linux targets. If you ship a custom .desktop override, an AppArmor/snap profile, or a MIME handler that hard-codes the Exec command, point it at the *-launcher script. The flatpak target keeps its own electron-wrapper script (Exec=electron-wrapper %U), which receives executableArgs as well. See v27 Breaking Changes → Linux launcher entrypoint.

Desktop File Customization​

All Linux targets include a .desktop file for application menu integration. Customize it via linux.desktop:

linux:
desktop:
entry:
Name: My Application
Comment: A fantastic application
Categories: Office;Productivity
Keywords: productivity;notes;organizer
StartupWMClass: my-app # helps window managers match window to icon
Terminal: false
Type: Application
desktopActions:
NewWindow:
Name: New Window
Exec: my-app --new-window
NewFile:
Name: New File
Exec: my-app --new-file

Standard freedesktop.org category values include: AudioVideo, Audio, Video, Development, Education, Game, Graphics, Network, Office, Science, Settings, System, Utility.

Desktop entry validation​

Keys and values are written to the file as given, so escape sequences such as \; in a list value are kept. Every Linux target that writes a desktop entry checks them first, and fails the build with an InvalidConfigurationError that names the group and the key (or the action) when:

  • a key, in entry or in an action, is empty, contains = or a line break, or has brackets other than around a trailing locale of letters, digits, -, _, . and @, right after the key, such as Name[de] or Comment[sr@latin]. These are the keys that GLib, which most desktops read the file with, rejects, and it then ignores the whole file. Keys that the specification does not allow but desktop environments read, such as X_Foo, are kept;
  • a value contains a line break, which would end the line and start a new key or group. A value must be on one line: write a newline in a string value as \n. Line breaks at the end of a value, as in a YAML block scalar (|), are dropped. This also applies to the values built from other options: Categories from linux.category, and MimeType from linux.mimeTypes, fileAssociations and protocols;
  • an action name contains [, ] or a control character.

The Name, Comment and StartupWMClass values that electron-builder derives from the product name, the description and desktopName are escaped instead, so they are not affected. Each of these cases would otherwise produce a file that desktop environments read differently from what was configured, or not at all. To fix the error, write the value on one line and use a key that the Desktop Entry Specification allows; your own keys start with X-, such as X-MyApp-Feature.

Window Association (desktopName)​

Electron derives its app_id — which becomes the window's WM_CLASS — from the desktopName field in your root package.json. Desktop environments (GNOME, KDE, etc.) use WM_CLASS to match a running window to its .desktop entry for taskbar grouping, dock badges, and launcher highlighting.

Without desktopName set, this association can break: the fallback WM_CLASS may not match the installed .desktop filename, so the DE treats the running app as an unknown window.

To fix this, set desktopName in package.json:

package.json
{
"desktopName": "com.example.MyApp"
}

electron-builder installs the .desktop file as ${desktopName}.desktop (here com.example.MyApp.desktop) and sets StartupWMClass=com.example.MyApp, both matching Electron's app_id. A trailing .desktop in desktopName is tolerated (stripped before the filename is composed), so configs written for earlier versions keep working. When desktopName is absent, the filename falls back to executableName. The flatpak target is the exception: its .desktop file is always named after the Flatpak application ID, so for the flatpak desktopName has to be that ID followed by .desktop — see Desktop Name.

Changed in v27

The installed .desktop filename is now always derived from desktopName. The linux.syncDesktopName flag that previously gated this behaviour has been removed — see the v27 breaking changes.

desktopName is required for reliable window association

If desktopName is absent, electron-builder will log a warning at build time. Without it, desktop environments on GNOME, KDE, and others may not correctly link the running application window to its launcher entry.

See the freedesktop.org specification for all valid keys.

Icon Configuration​

Provide a directory of PNG icons named with their size:

linux:
icon: build/icons/

Files must be named NxN.png (e.g., 256x256.png, 512x512.png). If not specified, electron-builder auto-generates Linux icons from the macOS .icns file (if present) or the Windows .ico file.

Recommended sizes: 16, 24, 32, 48, 64, 96, 128, 256, 512 pixels.

Debian Package (deb)​

The deb target creates a .deb package installable via apt on Debian, Ubuntu, Mint, and other Debian-based distributions.

deb:
depends:
- libgtk-3-0
- libnotify4
- libnss3
- libxss1
- libxtst6
- xdg-utils
- libatspi2.0-0
- libuuid1
- libsecret-1-0
recommends:
- libappindicator3-1 # system tray support
packageCategory: utils
priority: optional

Common depends packages for Electron apps:

  • libgtk-3-0 — GTK3 (required)
  • libnotify4 — desktop notifications
  • libnss3 — NSS (Chromium networking)
  • libxss1 — screen saver extension
  • libxtst6 — X test extension
  • xdg-utils — desktop integration utilities
  • libatspi2.0-0 — accessibility
  • libuuid1 — UUID support
  • libsecret-1-0 — keychain/Secret Service

Priority values: required, important, standard, optional (use optional for most apps)

RPM Package (rpm)​

The rpm target creates a .rpm package for Fedora, RHEL, CentOS, openSUSE, and other RPM-based distributions.

rpm:
depends:
- libXScrnSaver
- libnotify
- libappindicator
- nss
- gtk3
compression: xz # gz | bzip2 | xz | lzo (default: xz)
packageCategory: Applications/Internet

Common depends for Electron on RPM systems:

  • gtk3 — GTK3
  • libnotify — notifications
  • libXScrnSaver — screen saver
  • nss — networking

Build-id links and package format: RPMs are built without /usr/lib/.build-id links and with the v4 package format, so the output is the same whichever rpm version is installed on the build host. Without this, rpm 4.x adds a build-id link for every bundled ELF file, and two apps that ship the same Electron binaries conflict on install. To restore the links, override the define through fpm (user args come last, so they win):

rpm:
fpm:
- "--rpm-rpmbuild-define=_build_id_links compat"

After-install/after-remove scripts:

rpm:
afterInstall: build/scripts/after-install.sh
afterRemove: build/scripts/after-remove.sh
v27: maintainer-script variable syntax

electron-builder interpolates variables into maintainer scripts (afterInstall / afterRemove) using shell-style ${var}. The legacy EJS <%= var %> interpolation was removed in v27 — update any templated maintainer scripts to ${var}. See v27 Breaking Changes → Linux maintainer-script EJS syntax.

Pacman Package (pacman)​

Beta

The pacman target is in beta. Test thoroughly before distributing.

Creates a .pkg.tar.zst package for Arch Linux and Arch-based distributions (Manjaro, EndeavourOS, etc.):

pacman:
depends:
- gtk3
- libnotify
- nss
- libxss
- libxtst
- xdg-utils
- at-spi2-core
- libsecret

Alpine APK Package (apk)​

Creates an .apk package for Alpine Linux, commonly used in Docker containers:

apk:
depends:
- gtk+3.0
- libnotify
- nss
musl libc

Alpine uses musl libc rather than glibc. Electron bundles its own copy of glibc-dependent libraries, but some native modules may not be compatible with Alpine without recompilation.

FreeBSD Package (freebsd)​

Creates a .pkg package (not to be confused with macOS PKG) for FreeBSD systems:

freebsd:
depends:
- gtk3
- libnotify
- nss

FPM Passthrough Options​

The DEB, RPM, Pacman, APK, FreeBSD, and P5P targets are built using FPM internally. Pass additional FPM command-line arguments:

deb:
fpm:
- "--deb-changelog=CHANGELOG.md"
- "--deb-no-default-config-files"

AppArmor Profile (Ubuntu 24+)​

Ubuntu 24.04 introduced mandatory AppArmor profiles for application sandboxing. Specify a custom profile:

deb:
appArmorProfile: build/apparmor-profile

Without a profile, the app may be restricted by Ubuntu's default profile. See the AppArmor documentation for profile syntax.

Base Linux Configuration​

Interface: LinuxConfiguration

Desktop-entry and runtime fields shared by all Linux targets and all snap core strategies.

Fields set under linux.* in your build config (i.e. on LinuxConfiguration) are automatically cascaded into each snap core's options by LinuxTargetHelper.getSnapCore(). You do not need to duplicate them under snapcraft.core24.*, snapcraft.core22.*, etc. Per-core values always take precedence when both are set.

Extends​

Properties​

appId?​

readonly optional appId?: string | null

The application id. Used as CFBundleIdentifier for MacOS and as Application User Model ID for Windows (NSIS target only, Squirrel.Windows not supported). It is strongly recommended that an explicit ID is set.

Default​

com.electron.${name}

Inherited from​

PlatformSpecificBuildOptions.appId


artifactName?​

readonly optional artifactName?: string | null

The artifact file name template. Defaults to ${productName}-${version}.${ext} (some target can have other defaults, see corresponding options).

Inherited from​

PlatformSpecificBuildOptions.artifactName


asar?​

readonly optional asar?: boolean | AsarOptions | null

Whether to package the application's source code into an archive, using Electron's archive format.

Node modules that must be unpacked will be detected automatically. Use AsarOptions.unpack to specify additional files to unpack.

Default​

true

Inherited from​

PlatformSpecificBuildOptions.asar


category?​

readonly optional category?: string | null

The application category.

Inherited from​

CommonLinuxOptions.category


compression?​

readonly optional compression?: CompressionLevel | null

The compression level. If you want to rapidly test build, store can reduce build time significantly. maximum doesn't lead to noticeable size difference, but increase build time.

Default​

normal

Inherited from​

PlatformSpecificBuildOptions.compression


defaultArch?​

readonly optional defaultArch?: string

The default architecture to build for when no --arch flag is specified. Defaults to the current machine's architecture.

Inherited from​

PlatformSpecificBuildOptions.defaultArch


description?​

readonly optional description?: string | null

As description from application package.json, but allows you to specify different for Linux.

Inherited from​

CommonLinuxOptions.description


desktop?​

readonly optional desktop?: LinuxDesktopFile | null

The Desktop file

Inherited from​

CommonLinuxOptions.desktop


detectUpdateChannel?​

readonly optional detectUpdateChannel?: boolean

Whether to infer update channel from application version pre-release components. e.g. if version 0.12.1-alpha.1, channel will be set to alpha. Otherwise to latest. This does not apply to github publishing, which will never auto-detect the update channel.

Default​

true

Inherited from​

PlatformSpecificBuildOptions.detectUpdateChannel


electronLanguages?​

readonly optional electronLanguages?: string | string[]

The electron locales to keep. By default, all Electron locales used as-is.

Inherited from​

PlatformSpecificBuildOptions.electronLanguages


electronUpdaterCompatibility?​

readonly optional electronUpdaterCompatibility?: string | null

The electron-updater compatibility semver range: the electron-updater versions the installed apps ship, which have to read the update files this build writes. It selects the .blockmap format (see blockmap), and the build fails when the app's electron-updater does not satisfy it.

Default​

>=7

Inherited from​

PlatformSpecificBuildOptions.electronUpdaterCompatibility


executableArgs?​

readonly optional executableArgs?: string[] | null

The executable parameters. Pass to executableName

Inherited from​

CommonLinuxOptions.executableArgs


executableName?​

readonly optional executableName?: string | null

The executable name. Defaults to productName Note: Except for Linux, where this would constitute a breaking change in previous behavior and lead to both invalid executable names and Desktop files. Ref comments in: https://github.com/electron-userland/electron-builder/pull/9068

Inherited from​

PlatformSpecificBuildOptions.executableName


fileAssociations?​

readonly optional fileAssociations?: FileAssociation | FileAssociation[]

The file associations.

Inherited from​

PlatformSpecificBuildOptions.fileAssociations


fileOptions?​

optional fileOptions?: FilesBuildOptions | null

Which files to copy into the packaged app (files, the app sources, extraResources and extraFiles), which file extensions to exclude from it (excludedExts), and whether symlinks among them may lead outside the app and the workspace (allowExternalLinks). Set at the configuration root, per platform (e.g. mac.fileOptions), or both: a platform's file lists are added to the root ones, and a platform's excludedExts and allowExternalLinks replace the root ones.

{
"fileOptions": {
"files": ["dist/**/*", "package.json"],
"extraResources": [{ "from": "assets/bin", "to": "bin" }]
}
}

files, extraResources and extraFiles set directly on the configuration or a platform section are moved here when the configuration is loaded, with a warning. Run electron-builder migrate-schema to update the configuration.

Inherited from​

PlatformSpecificBuildOptions.fileOptions


forceCodeSigning?​

readonly optional forceCodeSigning?: boolean

Overrides the root forceCodeSigning for this platform: whether to fail the build if the app could not be code-signed, notarized, or have its auto-update manifests signed, and to verify the signatures it produces. See the root option for what is enforced. Mac App Store builds cascade mac → mas (→ masDev for mas-dev), like every other option, so mas.forceCodeSigning / masDev.forceCodeSigning apply to their targets only.

Default​

false

Inherited from​

PlatformSpecificBuildOptions.forceCodeSigning


generateUpdatesFilesForAllChannels?​

readonly optional generateUpdatesFilesForAllChannels?: boolean

Please see Building and Releasing using Channels.

Default​

false

Inherited from​

PlatformSpecificBuildOptions.generateUpdatesFilesForAllChannels


icon?​

readonly optional icon?: string

The path to icon set directory or one png file, relative to the build resources or to the project directory. The icon filename must contain the size (e.g. 32x32.png) of the icon. By default will be generated automatically based on the macOS icns file.

Overrides​

PlatformSpecificBuildOptions.icon


maintainer?​

readonly optional maintainer?: string | null

The maintainer. Defaults to author.


mimeTypes?​

readonly optional mimeTypes?: string[] | null

The mime types in addition to specified in the file associations. Use it if you don't want to register a new mime type, but reuse existing.

Inherited from​

CommonLinuxOptions.mimeTypes


protocols?​

readonly optional protocols?: Protocol | Protocol[]

The URL protocol schemes.

Inherited from​

PlatformSpecificBuildOptions.protocols


publish?​

optional publish?: Publish

Publisher configuration. See Auto Update for more information.

Inherited from​

PlatformSpecificBuildOptions.publish


releaseInfo?​

readonly optional releaseInfo?: ReleaseInfo

The release info. Intended for command line usage:

-c.releaseInfo.releaseNotes="new features"

Inherited from​

PlatformSpecificBuildOptions.releaseInfo


synopsis?​

readonly optional synopsis?: string | null

The short description.

Inherited from​

CommonLinuxOptions.synopsis


target?​

readonly optional target?: TargetConfigType

Target package type: list of AppImage, flatpak, snap, deb, rpm, freebsd, pacman, p5p, apk, 7z, zip, tar.xz, tar.lz, tar.gz, tar.bz2, dir.

electron-builder docker image can be used to build Linux targets on any platform.

Please do not put an AppImage into another archive like a .zip or .tar.gz.

Default​

AppImage

Overrides​

PlatformSpecificBuildOptions.target


updateManifest?​

readonly optional updateManifest?: false | UpdateManifestSigningOptions | null

Ed25519 signing of the auto-update manifest (latest*.yml). Each manifest is signed and its public key is embedded into app-update.yml, so electron-updater verifies the signature before downloading an update.

Signing is required. Publishing a build that emits auto-update metadata fails unless a signing key resolves. Generate one once with electron-builder create-update-key, then supply it via ELECTRON_BUILDER_UPDATE_SIGN_KEY (the PEM file, base64-encoded) / ELECTRON_BUILDER_UPDATE_SIGN_KEY_FILE (its path), preferred in CI, or via signingKey / signingKeyFile below. Leaving this option unset — or null — keeps signing required and resolves the key from the environment; null is not an opt-out.

Set to false, the only opt-out, to ship unsigned manifests. Every build that produces a manifest then logs a warning. false also short-circuits the environment variables, so a leftover ELECTRON_BUILDER_UPDATE_SIGN_KEY in CI cannot re-enable signing by accident.

The requirement is enforced when a publish policy is in effect (--publish) or forceCodeSigning is set; any other build warns instead, so local builds and pipelines that sign the manifest in a later step of their own are unaffected. It is also waived when every publish provider has publishAutoUpdate: false, since no manifest is emitted then, and for a build whose targets write no update info (e.g. only snap, flatpak, MSI/MSIX, portable, mas/pkg or plain archives). A publishing (or forceCodeSigning) build checks for the key at build start, before anything is packed or uploaded. Every signed manifest is read back and verified before it is written.

See Signed Update Manifests.

Inherited from​

PlatformSpecificBuildOptions.updateManifest


vendor?​

readonly optional vendor?: string | null

The vendor. Defaults to author.

Debian Package Options​

The top-level deb key contains a set of options for Debian packages.

Interface: DebOptions

Desktop-entry and runtime fields shared by all Linux targets and all snap core strategies.

Fields set under linux.* in your build config (i.e. on LinuxConfiguration) are automatically cascaded into each snap core's options by LinuxTargetHelper.getSnapCore(). You do not need to duplicate them under snapcraft.core24.*, snapcraft.core22.*, etc. Per-core values always take precedence when both are set.

Extends​

Properties​

afterInstall?​

readonly optional afterInstall?: string | null

File path to script to be passed to FPM for --after-install arg.

Inherited from​

LinuxTargetSpecificOptions.afterInstall


afterRemove?​

readonly optional afterRemove?: string | null

File path to script to be passed to FPM for --after-remove arg.

Inherited from​

LinuxTargetSpecificOptions.afterRemove


appArmorProfile?​

readonly optional appArmorProfile?: string | null

File path to custom AppArmor profile (Ubuntu 24+)

Inherited from​

LinuxTargetSpecificOptions.appArmorProfile


artifactName?​

readonly optional artifactName?: string | null

The artifact file name template.

Inherited from​

LinuxTargetSpecificOptions.artifactName


category?​

readonly optional category?: string | null

The application category.

Inherited from​

LinuxTargetSpecificOptions.category


compression?​

readonly optional compression?: "xz" | "bzip2" | "gz" | "zst" | null

Default​

xz

Overrides​

LinuxTargetSpecificOptions.compression


depends?​

readonly optional depends?: string[] | null

Package dependencies. If need to support Debian, libappindicator1 should be removed, it is deprecated in Debian. If need to support KDE, gconf2 and gconf-service should be removed as it's no longer used by GNOME.

Use the "default" keyword to extend the default list instead of replacing it: ["default", "my-extra-lib"] appends my-extra-lib to the defaults. The resulting list is deduplicated.

Default​

["libgtk-3-0", "libnotify4", "libnss3", "libxss1", "libxtst6", "xdg-utils", "libatspi2.0-0", "libuuid1", "libsecret-1-0"]

Overrides​

LinuxTargetSpecificOptions.depends


description?​

readonly optional description?: string | null

As description from application package.json, but allows you to specify different for Linux.

Inherited from​

LinuxTargetSpecificOptions.description


desktop?​

readonly optional desktop?: LinuxDesktopFile | null

The Desktop file

Inherited from​

LinuxTargetSpecificOptions.desktop


executableArgs?​

readonly optional executableArgs?: string[] | null

The executable parameters. Pass to executableName

Inherited from​

LinuxTargetSpecificOptions.executableArgs


fpm?​

readonly optional fpm?: string[] | null

Advanced only The fpm options.

Example: ["--before-install=build/deb-preinstall.sh", "--after-upgrade=build/deb-postinstall.sh"]

Inherited from​

LinuxTargetSpecificOptions.fpm


icon?​

readonly optional icon?: string

Inherited from​

LinuxTargetSpecificOptions.icon


maintainer?​

readonly optional maintainer?: string | null

Inherited from​

LinuxTargetSpecificOptions.maintainer


mimeTypes?​

readonly optional mimeTypes?: string[] | null

The mime types in addition to specified in the file associations. Use it if you don't want to register a new mime type, but reuse existing.

Inherited from​

LinuxTargetSpecificOptions.mimeTypes


packageCategory?​

readonly optional packageCategory?: string | null

The package category.

Overrides​

LinuxTargetSpecificOptions.packageCategory


packageName?​

readonly optional packageName?: string | null

The name of the package.

Inherited from​

LinuxTargetSpecificOptions.packageName


priority?​

readonly optional priority?: string | null

The Priority attribute.


publish?​

optional publish?: Publish

Inherited from​

LinuxTargetSpecificOptions.publish


recommends?​

readonly optional recommends?: string[] | null

The recommended package dependencies.

Default​

["libappindicator3-1"]

synopsis?​

readonly optional synopsis?: string | null

The short description.

Inherited from​

LinuxTargetSpecificOptions.synopsis


vendor?​

readonly optional vendor?: string | null

Inherited from​

LinuxTargetSpecificOptions.vendor

All LinuxTargetSpecificOptions can also be specified in deb to customize Debian packages.

LinuxTargetSpecificOptions — APK, FreeBSD, Pacman, P5P and RPM Options​

The top-level apk, freebsd, pacman, p5p and rpm keys contain options for their respective Linux targets.

Interface: LinuxTargetSpecificOptions

Desktop-entry and runtime fields shared by all Linux targets and all snap core strategies.

Fields set under linux.* in your build config (i.e. on LinuxConfiguration) are automatically cascaded into each snap core's options by LinuxTargetHelper.getSnapCore(). You do not need to duplicate them under snapcraft.core24.*, snapcraft.core22.*, etc. Per-core values always take precedence when both are set.

Extends​

Extended by​

Properties​

afterInstall?​

readonly optional afterInstall?: string | null

File path to script to be passed to FPM for --after-install arg.


afterRemove?​

readonly optional afterRemove?: string | null

File path to script to be passed to FPM for --after-remove arg.


appArmorProfile?​

readonly optional appArmorProfile?: string | null

File path to custom AppArmor profile (Ubuntu 24+)


artifactName?​

readonly optional artifactName?: string | null

The artifact file name template.

Inherited from​

TargetSpecificOptions.artifactName


category?​

readonly optional category?: string | null

The application category.

Inherited from​

CommonLinuxOptions.category


compression?​

readonly optional compression?: "xz" | "bzip2" | "gzip" | "gz" | "xzmt" | "zst" | "zstd" | null

The compression type passed to fpm. For deb, rpm, and pacman targets prefer the typed per-format interfaces (DebOptions, RpmOptions, PacmanOptions) which narrow this to only the values that fpm actually accepts for that format.

Default​

xz

depends?​

readonly optional depends?: string[] | null

Package dependencies. rpm defaults to ["gtk3", "libnotify", "nss", "libXScrnSaver", "(libXtst or libXtst6)", "xdg-utils", "at-spi2-core", "(libuuid or libuuid1)"] pacman defaults to ["c-ares", "ffmpeg", "gtk3", "libevent", "libvpx", "libxslt", "libxss", "minizip", "nss", "re2", "snappy", "libnotify", "libappindicator-gtk3"]

Use the "default" keyword to extend the target's default list instead of replacing it: ["default", "my-extra-lib"] appends my-extra-lib to the defaults. The resulting list is deduplicated.


description?​

readonly optional description?: string | null

As description from application package.json, but allows you to specify different for Linux.

Inherited from​

CommonLinuxOptions.description


desktop?​

readonly optional desktop?: LinuxDesktopFile | null

The Desktop file

Inherited from​

CommonLinuxOptions.desktop


executableArgs?​

readonly optional executableArgs?: string[] | null

The executable parameters. Pass to executableName

Inherited from​

CommonLinuxOptions.executableArgs


fpm?​

readonly optional fpm?: string[] | null

Advanced only The fpm options.

Example: ["--before-install=build/deb-preinstall.sh", "--after-upgrade=build/deb-postinstall.sh"]


icon?​

readonly optional icon?: string


maintainer?​

readonly optional maintainer?: string | null


mimeTypes?​

readonly optional mimeTypes?: string[] | null

The mime types in addition to specified in the file associations. Use it if you don't want to register a new mime type, but reuse existing.

Inherited from​

CommonLinuxOptions.mimeTypes


packageCategory?​

readonly optional packageCategory?: string | null

The package category.


packageName?​

readonly optional packageName?: string | null

The name of the package.


publish?​

optional publish?: Publish

Inherited from​

TargetSpecificOptions.publish


synopsis?​

readonly optional synopsis?: string | null

The short description.

Inherited from​

CommonLinuxOptions.synopsis


vendor?​

readonly optional vendor?: string | null