Skip to main content
Single-file Flatpak bundlesCurrently electron-builder does not support publishing apps to Flatpak repositories like Flathub. This means the Flatpak support in electron-builder is limited to generating single-file bundles which have various limitations compared to app bundles installed from a repository.For what it’s worth, there are some plans to make it easier to publish Electron apps to Flathub. When that happens, it should be easier to create a Flathub publisher for electron-builder (which would work similarly to the other publishers).
The top-level flatpak key contains a set of options instructing electron-builder on how it should build a Flatpak bundle.
Build dependenciesThe flatpak and flatpak-builder packages need to be installed in order to build Flatpak bundles.

Troubleshooting

If the Flatpak build process fails with an error message like “flatpak failed with status code X”, setting the DEBUG="@malept/flatpak-bundler" environment variable should provide more context about the error.
env DEBUG="@malept/flatpak-bundler" electron-builder build --linux flatpak

Configuration

license
string
The path to EULA license file. Defaults to license.txt or eula.txt (or uppercase variants). Only plain text is supported.
runtime
string
The name of the runtime that the application uses.See flatpak manifest documentation.
runtimeVersion
string
The version of the runtime that the application uses.See flatpak manifest documentation.
sdk
string
The name of the development runtime that the application builds with.See flatpak manifest documentation.
base
string
Start with the files from the specified application. This can be used to create applications that extend another application.See flatpak manifest documentation.
baseVersion
string
Use this specific version of the application specified in base.See flatpak manifest documentation.
branch
string
The branch to use when exporting the application.See flatpak manifest documentation.
finishArgs
string[]
An array of arguments passed to the flatpak build-finish command.See flatpak manifest documentation.
modules
Array<string | any>
An array of objects specifying the modules to be built in order.See flatpak manifest documentation.
files
Array<[string, string]>
Files to copy directly into the app. Should be a list of [source, dest] tuples. Source should be a relative/absolute path to a file/directory to copy into the flatpak, and dest should be the path inside the app install prefix (e.g. /share/applications/).See @malept/flatpak-bundler documentation.
Symlinks to create in the app files. Should be a list of [target, location] symlink tuples. Target can be either a relative or absolute path inside the app install prefix, and location should be a absolute path inside the prefix to create the symlink at.See @malept/flatpak-bundler documentation.
useWaylandFlags
boolean
Whether to enable the Wayland specific flags (--enable-features=UseOzonePlatform --ozone-platform=wayland) in the wrapper script. These flags are only available starting with Electron version 12.
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