ExTauri.Plugins (ex_tauri v0.2.0)
View SourceInstalls Tauri plugins into an existing src-tauri/ project.
Adding a Tauri plugin by hand takes three coordinated edits: a crate in
src-tauri/Cargo.toml, a .plugin(...) registration in src-tauri/src/main.rs,
and permissions in src-tauri/capabilities/default.json. This module (used by
mix ex_tauri.add) performs all three, idempotently, so the Elixir-side API
modules work without touching Rust.
Supported plugins
| Name | Elixir API | What it enables |
|---|---|---|
dialog | ExTauri.Dialog | Native file/message dialogs |
fs | ExTauri.Filesystem | Filesystem access outside the sandbox |
clipboard | ExTauri.Clipboard | Read/write the system clipboard |
os | ExTauri.OS | OS platform/arch/locale info |
global-shortcut | ExTauri.GlobalShortcut | App-wide keyboard shortcuts |
autostart | ExTauri.Autostart | Launch at login |
process | ExTauri.App | Exit/relaunch the app |
updater | ExTauri.Updater | Check for and install updates |
deep-link | ExTauri.Event | Handle myapp:// URLs |
window | ExTauri.Window | Runtime window management permissions |
window is a pseudo-plugin: window management is part of Tauri core, so it
only adds the capability permissions (projects generated by current versions
of mix ex_tauri.install already include them).
Summary
Functions
Installs the given plugins into the src-tauri/ project under base_dir.
Returns the list of plugin names that can be installed.
Normalizes a user-supplied plugin name to a registry key, or nil.
Returns the registry entry for a plugin name (already normalized).
Functions
Installs the given plugins into the src-tauri/ project under base_dir.
Patches Cargo.toml, src/main.rs, and capabilities/default.json for each
plugin. All edits are idempotent — installing an already-installed plugin is
a no-op. Raises with an actionable message on unknown plugin names or a
missing src-tauri/ directory.
Returns the list of plugin names that can be installed.
Normalizes a user-supplied plugin name to a registry key, or nil.
Returns the registry entry for a plugin name (already normalized).