A standalone starting point for an installable EasyBar Lua widget. The package can be installed directly from a checkout or release archive; publishing it in the official registry is optional.
Create a repository from this template, then replace the template identity before writing your widget:
- Replace
example-widgetandexample_widgetwith your package and Lua node names. - Replace
Example Widgetand its description inREADME.mdandpackage.toml. - Change
https://github.com/easybar-app/widget-templateto your repository URL. - Put your name and preferred license in
LICENSEandpackage.toml. - Adapt
widget.luaandtests/test.luatogether.
Package names use lowercase letters, digits, and hyphens. Keep package.toml at the repository
root so both local installs and release archives have the layout EasyBar expects.
The checks require Lua 5.5 and Python 3.11 or newer. StyLua is optional unless you run the format targets.
make check
make lint-lua
make packageInstall the checkout without publishing anything:
make installThat runs easybar widgets install . --no-registry. If your widget declares dependencies that
should be resolved from a registry, use easybar widgets install . instead. Reload EasyBar after
installing:
easybar config reloadEditor diagnostics use EasyBar's generated API definition at
~/.local/share/easybar/easybar_api.lua. Open this repository as the Lua workspace so
.luarc.json is applied.
Bump the package version, review it, and commit it:
make bump LEVEL=patch
git add package.toml
git commit -m "chore: prepare 0.1.1"
git push origin mainThen create the package tag:
make releasemake release requires a clean main branch synchronized with origin/main. It runs all checks
and pushes an annotated <package>-v<version> tag. The release workflow builds a deterministic
archive with package.toml at its root, publishes the archive and checksum to GitHub Releases,
and prints ready-to-copy registry metadata in the workflow summary.
A registry entry makes the widget discoverable through easybar widgets search and installable by
name. It is not required for direct installation. After the first release, contribute
packages/<package>.toml to the
widget registry using the archive URL and SHA-256
from the release workflow.
The complete manifest and contribution guidance lives in the EasyBar documentation.
After pushing this repository, open Settings → General, enable Template repository, and use Use this template to create new widget repositories.