Snap
The top-level snap key contains set of options instructing electron-builder on how it should build Snap.
-
base
String | “undefined” - A snap of type base to be used as the execution environment for this snap. Examples:core
,core18
,core20
,core22
. Defaults tocore20
-
confinement
=strict
“devmode” | “strict” | “classic” | “undefined” - The type of confinement supported by the snap. -
environment
Object<String, any> | “undefined” - The custom environment. Defaults to{"TMPDIR: "$XDG_RUNTIME_DIR"}
. If you set custom, it will be merged with default. -
summary
String | “undefined” - The 78 character long summary. Defaults to productName. -
grade
=stable
“devel” | “stable” | “undefined” - The quality grade of the snap. It can be eitherdevel
(i.e. a development version of the snap, so not to be published to the “stable” or “candidate” channels) or “stable” (i.e. a stable release or release candidate, which can be released to all channels). -
assumes
Array<String> | String | “undefined” - The list of features that must be supported by the core in order for this snap to install. -
buildPackages
Array<String> | “undefined” - The list of debian packages needs to be installed for building this snap. -
stagePackages
Array<String> | “undefined” - The list of Ubuntu packages to use that are needed to support theapp
part creation. Likedepends
fordeb
. Defaults to["libnspr4", "libnss3", "libxss1", "libappindicator3-1", "libsecret-1-0"]
.If list contains
default
, it will be replaced to default list, so,["default", "foo"]
can be used to add custom packagefoo
in addition to defaults. -
hooks
=build/snap-hooks
String | “undefined” - The hooks directory, relative tobuild
(build resources directory). -
plugs
Array<String | SnapOptions.PlugDescriptor> - The list of plugs. Defaults to["desktop", "desktop-legacy", "home", "x11", "wayland", "unity7", "browser-support", "network", "gsettings", "audio-playback", "pulseaudio", "opengl"]
.If list contains
default
, it will be replaced to default list, so,["default", "foo"]
can be used to add custom plugfoo
in addition to defaults.Additional attributes can be specified using object instead of just name of plug:
[ { "browser-sandbox": { "interface": "browser-support", "allow-sandbox": true }, }, "another-simple-plug-name" ]
-
slots
Array<String | SlotDescriptor> | PlugDescriptor | “undefined” - The list of slots.Additional attributes can be specified using object instead of just name of slot: ``` [ { “mpris”: { “name”: “chromium” }, } ]
In case you want your application to be a compliant MPris player, you will need to definie The mpris slot with “chromium” name. This electron has it hardcoded, and we need to pass this name so snap will allow it in strict confinement.
-
after
Array<String> | “undefined” - Specifies any parts that should be built before this part. Defaults to["desktop-gtk2""]
.If list contains
default
, it will be replaced to default list, so,["default", "foo"]
can be used to add custom partsfoo
in addition to defaults. -
useTemplateApp
Boolean - Whether to use template snap. Defaults totrue
ifstagePackages
not specified. -
autoStart
=false
Boolean - Whether or not the snap should automatically start on login. -
layout
Object<String, any> | “undefined” - Specifies any files to make accessible from locations such as/usr
,/var
, and/etc
. See snap layouts to learn more. -
appPartStage
Array<String> | “undefined” - Specifies which files from the app part to stage and which to exclude. Individual files, directories, wildcards, globstars, and exclusions are accepted. See Snapcraft filesets to learn more about the format.The defaults can be found in snap.ts.
-
title
String | “undefined” - An optional title for the snap, may contain uppercase letters and spaces. Defaults toproductName
. See snap format documentation. -
compression
“xz” | “lzo” | “undefined” - Sets the compression type for the snap. Can be xz, lzo, or null. -
allowNativeWayland
Boolean | “undefined” - Allow running the program with native wayland support with --ozone-platform=wayland. Disabled by default because of this issue in older Electron/Snap versions: https://github.com/electron-userland/electron-builder/issues/4007
Inherited from CommonLinuxOptions
:
synopsis
String | “undefined” - The short description.description
String | “undefined” - As description from application package.json, but allows you to specify different for Linux.category
String | “undefined” - The application category.mimeTypes
Array<String> | “undefined” - 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
any | “undefined” - The Desktop file entries (name to value).executableArgs
Array<String> | “undefined” - The executable parameters. Pass to executableName
Inherited from TargetSpecificOptions
:
artifactName
String | “undefined” - The artifact file name template.publish
The publish options.