Personal plugins for Noctalia: APC UPS monitoring, Arch Linux updates through yay, and JDS audio output switching.
| Plugin | v5 version | Purpose |
|---|---|---|
| APC UPS Monitor | 2.0.1 | Battery, load, runtime, and UPS status |
| Yay Updater | 2.0.3 | Repository/AUR update checks and terminal upgrades |
| JDS Output Toggle | 1.0.0 | RCA ↔ headphones button, disabled when the device is absent |
The v5 ports use Luau services, bar widgets, native panels, and TOML settings. They require plugin API 22 or newer (introduced in v5.0.0-beta.8); development checks used the installed Noctalia v5.0.1.
To try this checkout without publishing, add it as a local source:
noctalia msg plugins source add nekoshinobi-dev path /home/user/Documents/noctalia-plugins/noctalia-plugins
noctalia msg plugins enable nekoshinobi/apcupsd
noctalia msg plugins enable nekoshinobi/yay-updaterThen add the desired bar widgets through Noctalia's bar settings. Their types are nekoshinobi/apcupsd:bar and nekoshinobi/yay-updater:bar. Left click opens details; right click opens plugin settings. Refresh and system-update actions are in the panels.
Once these changes are pushed, the Git source can be used instead:
noctalia msg plugins source add nekoshinobi git https://github.com/NekoShinobi/noctalia-pluginsUse one of these sources. The Git source cannot see uncommitted local changes.
V5 does not load QML plugins. Each directory now contains a separate plugin.toml and .luau implementation; catalog.toml indexes them for v5. The existing QML, manifest.json, and registry.json remain available for v4 users. Original documentation is preserved in each plugin's README-v4.md.
Enable the new namespaced plugin IDs and add their bar widgets again. Re-enter your preferences in the v5 plugin settings; existing v4 settings are not automatically imported. Setting names are preserved. Yay Updater now defaults to automatic terminal discovery instead of Foot. When both UPS display toggles are enabled, load takes priority. The effective warning threshold is never below the critical threshold.
noctalia plugins lint apcupsd yay-updater
lua tests/v5.luaThe behavioral tests mock the host and subprocess responses; they never run updates or access the UPS. They cover failures, empty results, repeated refreshes, settings, panel opening, and horizontal/vertical bar structure. Luau compilation validates scripting-language syntax separately. Live rendering, theme appearance, terminal launching, and physical UPS communication still need a desktop smoke test.
See the official v5 plugin documentation and API version table for the runtime contracts used by these ports.
MIT.
0 comments
log in to comment.