Plugin SDK

Extend Nex with custom plugins. Build integrations for your workflow.

Overview

The Nex Plugin SDK provides a JSON-based plugin interface for extending launcher functionality. Plugins are loaded from configurable directories and can provide custom actions and search providers.

Status: PreviewPlugin SDK is in active development. WASM runtime and store coming in future releases.

Plugin Structure

# Plugin directory structure
my-plugin/
└── manifest.json

Manifest

Each plugin requires a manifest.json file:

{
  "name": "my-plugin",
  "version": "0.1.0",
  "description": "My custom plugin",
  "author": "Your Name",
  "actions": [
    {
      "id": "hello",
      "label": "Say Hello",
      "description": "Prints a greeting",
      "handler": "action"
    }
  ],
  "providers": [
    {
      "id": "custom",
      "label": "Custom Results",
      "description": "Custom search provider",
      "handler": "search"
    }
  ]
}

Plugin Interface

Plugins implement actions and/or search providers via JSON manifest. Handlers reference runtime functions available to the plugin system.

Configuration

Enable plugins in config.toml:

plugins_enabled = true
plugins_safe_mode = true
plugin_paths = [
  "%APPDATA%\Nex\plugins",
]

Safe Mode

When plugins_safe_mode = true, plugins cannot execute system commands. Disable only for trusted plugins.

Roadmap

JSON manifest loading and validation
Action and provider interfaces
Trait-based plugin interface (Rust)
WASM runtime integration
Public extension store