pub struct Config {
pub schema: Option<String>,
pub product_name: Option<String>,
pub main_binary_name: Option<String>,
pub version: Option<String>,
pub identifier: String,
pub app: AppConfig,
pub build: BuildConfig,
pub bundle: BundleConfig,
pub plugins: PluginConfig,
}Expand description
The Tauri configuration object. It is read from a file where you can define your frontend assets, configure the bundler and define a tray icon.
The configuration file is generated by the
tauri init command that lives in
your Tauri application source directory (src-tauri).
Once generated, you may modify it at will to customize your Tauri application.
§File Formats
By default, the configuration is defined as a JSON file named tauri.conf.json.
Tauri also supports JSON5 and TOML files via the config-json5 and config-toml Cargo features, respectively.
The JSON5 file name must be either tauri.conf.json or tauri.conf.json5.
The TOML file name is Tauri.toml.
§Platform-Specific Configuration
In addition to the default configuration file, Tauri can
read a platform-specific configuration from tauri.linux.conf.json,
tauri.windows.conf.json, tauri.macos.conf.json, tauri.android.conf.json and tauri.ios.conf.json
(or Tauri.linux.toml, Tauri.windows.toml, Tauri.macos.toml, Tauri.android.toml and Tauri.ios.toml if the Tauri.toml format is used),
which gets merged with the main configuration object.
§Configuration Structure
The configuration is composed of the following objects:
app: The Tauri configurationbuild: The build configurationbundle: The bundle configurationsplugins: The plugins configuration
Example tauri.config.json file:
{
"productName": "tauri-app",
"version": "0.1.0",
"build": {
"beforeBuildCommand": "",
"beforeDevCommand": "",
"devUrl": "http://localhost:3000",
"frontendDist": "../dist"
},
"app": {
"security": {
"csp": null
},
"windows": [
{
"fullscreen": false,
"height": 600,
"resizable": true,
"title": "Tauri App",
"width": 800
}
]
},
"bundle": {},
"plugins": {}
}Fields§
§schema: Option<String>The JSON schema for the Tauri config.
product_name: Option<String>App name.
This is the name your app is known by on the user’s system, so it must be changed from the default before publishing. Besides naming the generated bundles, it is written into platform metadata and install paths that are expected to be unique to your application.
§Platform-specific
- macOS: Names the
.appbundle and the.dmg, and sets the bundle’sCFBundleDisplayNameandCFBundleNameproperties.CFBundleNamecan be overridden withbundle > macOS > bundleName. - Linux: Kebab-cased for the Debian and RPM package names, used as the
Nameentry of the desktop file and as the resource directory name under/usr/lib. - Windows: Names the installers, the installation directory, the Start Menu folder and
the
HKCU\Software\<publisher>\<product name>registry key. It also derives the default WiX upgrade code, which must be unique across applications and can be set explicitly withbundle > windows > wix > upgradeCode.
main_binary_name: Option<String>Overrides app’s main binary filename.
By default, Tauri uses the output binary from cargo, by setting this, we will rename that binary in tauri-cli’s
tauri build command, and target tauri bundle to it
If possible, change the package name or set the name field instead,
and if that’s not enough and you’re using nightly, consider using the different-binary-name feature instead
Note: this config should not include the binary extension (e.g. .exe), we’ll add that for you
version: Option<String>App version. It is a semver version number or a path to a package.json file containing the version field.
If removed the version number from Cargo.toml is used.
It’s recommended to manage the app versioning in the Tauri config.
§Platform-specific
- macOS: Translates to the bundle’s CFBundleShortVersionString property and is used as the default CFBundleVersion.
You can set an specific bundle version using
bundle > macOS > bundleVersion. - iOS: Translates to the bundle’s CFBundleShortVersionString property and is used as the default CFBundleVersion.
You can set an specific bundle version using
bundle > iOS > bundleVersion. Thetauri ios buildCLI command has a--build-number <number>option that lets you append a build number to the app version. - Android: By default version 1.0 is used. You can set a version code using
bundle > android > versionCode.
By default version 1.0 is used on Android.
identifier: StringThe application identifier in reverse domain name notation (e.g. com.tauri.example).
This string must be unique across applications since it is used in system configurations like
the bundle ID and path to the webview data directory.
This string must contain only alphanumeric characters (A-Z, a-z, and 0-9), hyphens (-),
and periods (.).
The default value com.tauri.dev is rejected by tauri build and must be changed before
building your application.
app: AppConfigThe App configuration.
build: BuildConfigThe build configuration.
bundle: BundleConfigThe bundler configuration.
plugins: PluginConfigThe plugins config.