Skip to content
equisdotsPublic

About

Plugin standard, samples, template and conversion workshop for the equisdots desktop

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

46 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

equisdots · plugins

Plugin standard and the concentration folder for every equisdots plugin — converted from the stack, samples, or third-party contributions.

Path What
docs/plugins.md Plugin standard — manifest, folders, enablement, scan + loader + CLI contracts
docs/conversion.md Conversion roadmap: which stack features become plugins, and their status
docs/nyx.md Review: completing Nyx's conversion and its extensibility through the plugin system
docs/testing.md How to deploy the experimental branches on a live session (checklist + rollback)
plugins/ Every plugin lives here — one folder per plugin, folder name = plugin.json → id, any origin; _template/ is the scaffold
registry.json Install-time index: every known plugin and its source repo (for dots plugins add, future store)
tests/smoke.sh Local checks (no CI): manifests, qmldir imports, scan resolution, lints plus hub id integrity (duplicate ids, registry consistency, every hub plugin registered)

How it works (v0)

  • A plugin declares itself with plugin.json and is discovered by scanning folders: ~/.config/hypr/plugins/<id>/ (managed by dots) and ~/.config/hypr/plugins-user/<id>/ (yours; wins on id collisions).
  • The settings panel grows a Plugins group: every installed plugin shows up with an enable/disable toggle and a Configure shortcut to its own page.
  • Enable state lives in the plugin's own settings file (~/.config/hypr/plugins/<id>/settings.json) under the manifest's toggle path (plugins.<id>.enabled by default, or the plugin's own switch — Nyx, for example, points at mascots.enabled so there is only one switch); the core settings.json only carries the config-menu flag.
  • hypr / mixed plugins ship a hypr.lua fragment that the Hyprland config runs at load time with an injected SDK (mod.*). A failing plugin never aborts the config; errors land in ~/.cache/equisdots/plugins-report.json.
  • dots plugins list|enable|disable <id> does the same from the CLI.

Try the sample:

mkdir -p ~/.config/hypr/plugins-user
cp -r plugins/hello ~/.config/hypr/plugins-user/
# Settings → Plugins → enable "Hello Plugin", then press SUPER + SHIFT + H

Status: POC — the standard is a draft; see docs/plugins.md for the contracts, the acceptance criteria and the open questions.

License

MIT — see LICENSE.

About

Plugin standard, samples, template and conversion workshop for the equisdots desktop

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages