Skip to content

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.

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-status

The runtime backbone — every config uses these.

Button Types:

  • core:action — Run a shell command. Config: icon (any icon://name) and/or label.
  • 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"

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 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
- swap

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"

Live weather conditions.

Button Type:

  • weather:weather

Configuration:

  • location.latitude / location.longitude — coordinates (required to fetch).
  • location.name — display name (optional).
  • unitsmetric or imperial (default metric).
  • poll_interval_ms — refresh interval (default 600000).
- position: 0
type: "weather:weather"
config:
location:
latitude: 42.2304
longitude: -8.7256
name: "Vigo"
units: "metric"

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"

Device screen brightness controls.

Button Type:

  • brightness:brightness

Configuration:

- position: 0
type: "brightness:brightness"
config:
action: "up" # up, down, or set

Current session / lock status.

Button Type:

  • session:info — Lock/session status.

No extra config:

- position: 0
type: "session:info"

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: false

coding-agents:agent:

- position: 0
type: "coding-agents:agent"
config:
providerId: "opencode" # or "claude-code"
sessionId: "<session id>" # optional — latest when omitted