Skip to main content
The top-level linux key contains set of options instructing electron-builder on how it should build Linux targets. These options applicable for any Linux target. electron-builder docker image can be used to build Linux targets on any platform.

Base Linux Configuration

target
string | TargetConfiguration
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.Please do not put an AppImage into another archive like a .zip or .tar.gz.
maintainer
string
The maintainer. Defaults to author.
vendor
string
The vendor. Defaults to author.
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.
synopsis
string
description
string
As description from application package.json, but allows you to specify different for Linux.
category
string
mimeTypes
string[]
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.
desktop
LinuxDesktopFile
The Desktop file
executableArgs
string[]
The executable parameters. Pass to executableName

Debian Package Options

The top-level deb key contains set of options instructing electron-builder on how it should build Debian package. All LinuxTargetSpecificOptions can be also specified in the deb to customize Debian package.
depends
string[]
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.
recommends
string[]
The recommended package dependencies.
packageCategory
string
priority
string
The Priority attribute.

LinuxTargetSpecificOptions

APK, FreeBSD, Pacman, P5P and RPM Options The top-level apk, freebsd, pacman, p5p and rpm keys contains set of options instructing electron-builder on how it should build corresponding Linux target.
depends
string[]
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", "http-parser", "libevent", "libvpx", "libxslt", "libxss", "minizip", "nss", "re2", "snappy", "libnotify", "libappindicator-gtk3"]
compression
'gz' | 'bzip2' | 'xz' | 'lzo'
The compression type.
icon
string
The path to the icon file.
packageCategory
string
The package category.
packageName
string
The name of the package.
vendor
string
The vendor.
maintainer
string
The maintainer.
afterInstall
string
File path to script to be passed to FPM for --after-install arg.
afterRemove
string
File path to script to be passed to FPM for --after-remove arg.
appArmorProfile
string
File path to custom AppArmor profile (Ubuntu 24+)
fpm
string[]
Advanced only The fpm options.Example: ["--before-install=build/deb-preinstall.sh", "--after-upgrade=build/deb-postinstall.sh"]
synopsis
string
description
string
As description from application package.json, but allows you to specify different for Linux.
category
string
mimeTypes
string[]
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.
desktop
LinuxDesktopFile
executableArgs
string[]
The executable parameters. Pass to executableName

Build docs developers (and LLMs) love