diff --git a/README.md b/README.md index af8b88e..976b2ef 100644 --- a/README.md +++ b/README.md @@ -1,56 +1,66 @@ # owlry-plugins -Official plugins and script runtimes for [owlry](https://somegit.dev/Owlibou/owlry). +Official plugins for [owlry](https://somegit.dev/Owlibou/owlry). + +> **Note:** Calculator, converter, and system actions are built into `owlry-core` (>= 1.2.0) and do not require separate packages. ## Plugins -> **Note:** Calculator, converter, and system actions are now built into `owlry-core` (>= 1.2.0) and no longer require separate plugin packages. - -| Plugin | Description | -|--------|-------------| -| bookmarks | Browser bookmark search (Firefox, Chrome) | -| clipboard | Clipboard history via cliphist | -| emoji | Emoji picker | -| filesearch | File search via fd/locate | -| media | MPRIS media player widget | -| pomodoro | Pomodoro timer widget | -| scripts | User script launcher | -| ssh | SSH host quick-connect | -| systemd | systemd user service control | -| weather | Weather widget | -| websearch | Web search with configurable engines | - -## Runtimes - -| Runtime | Description | -|---------|-------------| -| owlry-lua | Lua 5.4 scripting runtime for user plugins | -| owlry-rune | Rune scripting runtime for user plugins | - -## Building - -```bash -just build # Debug build -just release # Release build (optimized) -just plugin calc # Build a single plugin -just check # cargo check + clippy -just test # Run tests -``` +| Plugin | Description | Dependencies | +|--------|-------------|-------------| +| bookmarks | Browser bookmark search (Firefox, Chrome, Brave, Edge) | — | +| clipboard | Clipboard history | `cliphist`, `wl-clipboard` | +| emoji | Emoji picker (400+) | `wl-clipboard`, `noto-fonts-emoji` | +| filesearch | File search (`/ filename`) | `fd` or `mlocate` | +| media | MPRIS media player widget | `playerctl` | +| pomodoro | Pomodoro timer widget | — | +| scripts | User script launcher | — | +| ssh | SSH host quick-connect | `openssh` | +| systemd | systemd user service control | `systemd` | +| weather | Weather widget | — | +| websearch | Web search with configurable engines | — | ## Installation +### Arch Linux (AUR) + ```bash -just install-local # Install all plugins and runtimes to /usr/lib/owlry/ +# Install individual plugins +yay -S owlry-plugin-bookmarks owlry-plugin-clipboard owlry-plugin-weather + +# Or install several at once +yay -S owlry-plugin-{bookmarks,clipboard,emoji,ssh,websearch} +``` + +### Build from Source + +Requires Rust 1.90+ and `owlry-core` installed. + +```bash +git clone https://somegit.dev/Owlibou/owlry-plugins.git +cd owlry-plugins + +just build # Debug build (all plugins) +just release # Release build (optimized) +just plugin bookmarks # Build a single plugin + +just install-local # Install all plugins to /usr/lib/owlry/plugins/ ``` Plugins are compiled as `.so` files and installed to `/usr/lib/owlry/plugins/`. -Runtimes are installed to `/usr/lib/owlry/runtimes/`. ## Development -See [docs/PLUGIN_DEVELOPMENT.md](docs/PLUGIN_DEVELOPMENT.md) for plugin authoring guide. +Each plugin is a `cdylib` crate implementing the `owlry-plugin-api` ABI-stable interface from the [core repo](https://somegit.dev/Owlibou/owlry). -Plugins depend on `owlry-plugin-api` from the core repo for the ABI-stable interface. +```bash +just check # cargo check + clippy +just test # Run tests +just fmt # Format code +just show-versions # List all plugin versions +``` + +See [docs/PLUGIN_DEVELOPMENT.md](docs/PLUGIN_DEVELOPMENT.md) for the plugin authoring guide. ## License