A collection of anyrun plugins written in Rust.
anyrun is a Wayland-native, fuzzy-search application launcher. This repository hosts plugins that extend it with additional search providers and command runners.
| Plugin | Description |
|---|---|
ssh-pattern |
Fuzzy-search and connect to hosts defined in your SSH config files, more information in ssh-pattern/README.md. |
menu-bar |
Two-level hierarchical menu bar for launching commands, more information in menu-bar/README.md. |
anyrun-plugins/
├── Cargo.toml # Workspace manifest
├── flake.nix # Nix flake (dev shell + per-plugin packages)
├── nix/
│ └── plugin.nix # Reusable builder for each plugin
├── menu-bar/ # Hierarchical menu bar plugin
└── ssh-pattern/ # SSH search pluginThis is a Cargo workspace: each plugin lives in its own crate and is built as a
cdylib using anyrun-plugin and abi_stable.
- Rust 1.96 or newer (edition 2024)
- Cargo
- An anyrun install for running the plugins
- Optional: Nix with flakes enabled, for the provided dev shell and package builds
Each plugin is an independent crate. Build only what you need:
cargo build --release -p ssh-patternThe resulting shared library lives in target/release/libssh_pattern.so and can
be loaded by anyrun through its standard config.
The flake exposes a dev shell and a packaged anyrun-plugins bundle:
# input
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
anyrun-plugins = {
url = "github:thinkgos/anyrun-plugins";
inputs.nixpkgs.follows = "nixpkgs";
};
}Per-system plugin packages are also available (e.g. nix build .#ssh-pattern).
Each plugin reads its config from <anyrun-config-dir>/<plugin-name>.ron. See
each plugin's examples/ directory for a starter config:
cp ssh-pattern/examples/ssh-pattern.ron ~/.config/anyrun/ssh-pattern.ronLicensed under the Apache License, Version 2.0.