-
-
Notifications
You must be signed in to change notification settings - Fork 1
Store Packaging Distribution
Bobby Comet edited this page Jul 31, 2026
·
1 revision
Standards for shipping themes, plugins, and project graphs so others can run or remix them without path/plugin pain.
| Artifact | Audience | Studio required? |
|---|---|---|
| Built theme folder | End users who only run the HUD | No — only Conky |
| Project JSON (+ assets) | Authors remixing the graph | Yes |
| Plugin manifest JSON | Extending the palette | Yes (to design); Conky runs the Lua |
Public / store default: ship the built theme as the primary download. Attach JSON only if you want remixability.
ThemeName/
├── theme.json # name, author, version, description, resolution, requires
├── start.sh # executable — single entry point
├── conky.conf
├── render.lua
├── images/ # all referenced bitmaps/SVGs
├── fonts/ # optional bundled fonts
├── scripts/ # daemon/exec helpers
├── preview.png # optional screenshot
└── README.md # human install notes
-
Always include a working
start.sh(Studio Build does this). - No absolute paths to the author’s home directory inside conf/Lua/scripts.
-
theme.jsonfilled in (Manager can edit/generate). -
README states: distro notes, Wayland/X11 expectations, optional deps (
playerctl,lm-sensors). - Archive as
.zipor.tar.gzof the folder contents (or the folder itself). - Test on a clean machine or after renaming the folder:
chmod +x start.sh && ./start.sh.
| Method | Destination |
|---|---|
| Conky Studio Manager / Build & Install | ~/.config/conky/ThemeName/ |
| Manual | Same tree, or user preference — still run via start.sh
|
| Store tab | Follow in-app install (copies into managed config tree when configured) |
my-hud.json
assets/ or images/ # everything the graph references
scripts/ # custom scripts referenced by nodes
README-REMIX.md # plugin list, Studio version, path notes
| Item | Action |
|---|---|
| Plugins | List type ids (logic.smooth, …) and pack URL or file |
| Paths | Replace /home/you/... with relative or document re-link steps |
| Studio version | Note minimum build if using new node types |
| Preview | Build once yourself so recipients can compare behaviour |
JSON alone is not a portable runtime. See Sharing Projects.
-
api_version:"1.1"preferred - Unique
ids:logic.*/visual.*per authoring rules -
author,version,description, optionalhomepage/license
| Channel | How |
|---|---|
| Project plugins.json | PR / publish to the default remote manifest |
| Local pack | ~/.config/conky-studio/plugins/*.json |
| Store / community | Link manifest URL in listing; users use Tools → Plugins… |
State clearly that plugin Lua runs inside Conky with theme-level privileges. Do not ship obfuscated packs.
from conkystudio.plugins.loader import load_manifest_file, validate_only
assert validate_only(load_manifest_file("my-pack.json")) == []When the Store feed is configured:
| Expectation | Detail |
|---|---|
| Primary file | Built theme archive |
| Metadata | Name, author, description, resolution, preview image |
| Optional | Project JSON attachment for remixers |
| OpenDesktop / browser | Catalog may open externally; install still lands in user config |
If the Store is empty: check network, feed URL, and release channel — not necessarily a packaging error.
Tested: X11 / Plasma Wayland / Hyprland
Not supported: GNOME Wayland overlays
Requires: conky (Wayland build if on Wayland), optional playerctl
Align with the Compatibility wiki.
| Piece | Suggestion |
|---|---|
| Theme | Semver in theme.json + folder name stability |
| Project JSON | Note Studio version in README |
| Plugins | Semver in each plugin entry; bump when Lua behaviour changes |
Breaking plugin id renames force users to fix graphs — prefer additive ids.
- Ship only screenshots
- Rely on author-machine absolute paths
- Omit
start.sh - Bundle untrusted plugin Lua without disclosure
- Claim GNOME Wayland overlay support
- Finalize graph → Build to Folder (or Build & Install).
- Fill theme.json + README.
- Zip the theme directory.
- Optionally attach project JSON + plugin list for remixers.
- Publish to Store / Discord / GitHub Releases.