Built-in Addons
Sireno Deck ships a set of first-party addons. They are enabled by default — no configuration is required to load them, though almost every one exposes options on its buttons.
Summary
Section titled “Summary”| Addon | Button types | Category |
|---|---|---|
| Core | core:action, core:change-deck, core:page-nav, core:toggle, core:media-sample, core:lock |
navigation |
| Date Time | date-time:time, date-time:date, date-time:date-time, date-time:analog-clock |
productivity |
| Media | media:player, media:mute, media:volume:up, media:volume:down |
system |
| System Status | system-status:system-status |
monitoring |
| Value Display | value-display:display |
productivity |
| Weather | weather:weather |
productivity |
| Emoji Selector | emoji-selector:launcher, emoji-selector:category, emoji-selector:emoji |
productivity |
| Brightness | brightness:brightness |
device |
| Session | session:info |
lock/session |
| Coding Agents | coding-agents:summary, coding-agents:agent |
ai |
Built-in addons are enabled by default:
# Default - all built-ins enabled. You only list them here to override config.addons: - date-time - media - system-statusAddon Reference
Section titled “Addon Reference”The runtime backbone — every config uses these.
Button Types:
core:action— Run a shell command. Config:icon(anyicon://name) and/orlabel.core:change-deck— Navigate to another deck. Config:deck(target deck id),icon,label.core:page-nav— Page navigation (system-managed).core:toggle— Toggle between two states. Config:key,default.core:media-sample— Sample the active media session.core:lock— Toggle the deck lock.
Configuration:
- position: 0 type: "core:action" config: icon: icon://search label: "Google" actions: tap: "xdg-open https://google.com"date-time
Section titled “date-time”Clocks and calendars.
Button Types:
date-time:time— Time only.date-time:date— Date only.date-time:date-time— Full date and time.date-time:analog-clock— Analog clock face.
Configuration (per button type):
date-time:time / date-time:date:
- position: 0 type: "date-time:time" config: variant: "default" # or "big"date-time:date-time (full) — custom format string:
- position: 0 type: "date-time:date-time" config: format: "DD/MM/YYYY HH:mm:ss"Media playback controls and status.
Button Types:
media:player— Play/pause, shows current track.media:mute— Mute toggle.media:volume:up— Volume up.media:volume:down— Volume down.
Features:
- Displays current track info
- Shows playback state
- Volume level display
These buttons need no extra config — just place the type:
- position: 0 type: "media:player"system-status
Section titled “system-status”System metrics display (bars, KPIs, charts).
Button Type:
system-status:system-status
Metrics available: CPU, RAM, swap, disk, battery, temperature, network, and more.
Configuration:
- position: 0 type: "system-status:system-status" config: metrics: - id: cpu label: CPU - id: ram label: RAM - swapvalue-display
Section titled “value-display”Display dynamic values from shell commands.
Button Type:
value-display:display
Configuration:
- position: 0 type: "value-display:display" config: values: - label: "IP" command: "curl -s ifconfig.me" formatter: "strip" - label: "Uptime" command: "uptime" formatter: "line"weather
Section titled “weather”Live weather conditions.
Button Type:
weather:weather
Configuration:
location.latitude/location.longitude— coordinates (required to fetch).location.name— display name (optional).units—metricorimperial(defaultmetric).poll_interval_ms— refresh interval (default600000).
- position: 0 type: "weather:weather" config: location: latitude: 42.2304 longitude: -8.7256 name: "Vigo" units: "metric"emoji-selector
Section titled “emoji-selector”Emoji picker with categories and favorites.
Button Types:
emoji-selector:launcher— Opens the selector.emoji-selector:category— Category button.emoji-selector:emoji— Individual emoji.
Configuration:
- position: 0 type: "emoji-selector:launcher" config: label: "Emojis"brightness
Section titled “brightness”Device screen brightness controls.
Button Type:
brightness:brightness
Configuration:
- position: 0 type: "brightness:brightness" config: action: "up" # up, down, or setsession
Section titled “session”Current session / lock status.
Button Type:
session:info— Lock/session status.
No extra config:
- position: 0 type: "session:info"coding-agents
Section titled “coding-agents”Live status of OpenCode and Claude Code sessions.
Button Types:
coding-agents:summary— Count of active agents.coding-agents:agent— A specific agent session.
Configuration:
coding-agents:summary:
- position: 0 type: "coding-agents:summary" config: showCount: true attentionOnly: falsecoding-agents:agent:
- position: 0 type: "coding-agents:agent" config: providerId: "opencode" # or "claude-code" sessionId: "<session id>" # optional — latest when omitted