Files
home/triggershell.yml
T
valknar f71da3aea0 feat(triggershell): replace demo scripts with openrgb-hue apply
Drop the triggershell init scaffold scripts and add one script that
drives openrgb-hue apply: full option set as form fields, scene as a
103-entry dropdown, mapping defaulting to per-zone. The scene name
goes through a small wrapper since it's a positional CLI arg and
TriggerShell's passAs:arg can only emit --flag value pairs.
2026-08-16 17:16:42 +02:00

285 lines
7.5 KiB
YAML

# TriggerShell configuration.
# Full reference: https://dev.pivoine.art/valknar/triggershell.git (see docs/CONFIG_REFERENCE.md)
server:
host: 0.0.0.0
port: 4173
auth:
enabled: true
# Must be >= 32 characters if auth is enabled. Kept out of this file - `triggershell init`
# generated one into .env (TRIGGERSHELL_SESSION_SECRET) alongside this config.
sessionSecret: "${TRIGGERSHELL_SESSION_SECRET}"
sessionTtlHours: 12
users:
- username: admin
passwordHash: ${TRIGGERSHELL_USER_ADMIN_PASSWORD_HASH}
# Add a user with: triggershell users add <username>
tokens:
- name: test-verification
tokenHash: ${TRIGGERSHELL_TOKEN_TEST_VERIFICATION_HASH}
# Add an API token with: triggershell users add-token <name>
database:
path: .triggershell/triggershell.db
logs:
dir: .triggershell/logs
retentionDays: 30
scripts:
- id: openrgb-hue-apply
name: "OpenRGB: Apply Hue Scene"
description: Apply a Philips Hue scene as a static color gradient across OpenRGB-controlled lights (motherboard, GPU, RAM, etc).
command: bash
args: ["./scripts/openrgb-hue-apply.sh"]
cwd: ./
timeoutSeconds: 30
variables:
- name: scene
label: Scene
description: Philips Hue scene to render as a gradient.
type: enum
required: true
control: select
passAs: env
envName: SCENE
choices:
- "Tropical twilight"
- "Blossom"
- "Bright"
- "Savanna sunset"
- "Relax"
- "Energize"
- "Dreamy dusk"
- "Concentrate"
- "Warm embrace"
- "Golden pond"
- "Honolulu"
- "Rest"
- "Ruby glow"
- "Rolling hills"
- "Precious"
- "Cool bright"
- "Mountain breeze"
- "Read"
- "Dimmed"
- "Narcissa"
- "Crocus"
- "Nightlight"
- "São Paulo"
- "Ruby romance"
- "Sunset allure"
- "Smitten"
- "Promise"
- "City of love"
- "Lovebirds"
- "Glitz and glam"
- "Nighttime"
- "Unwind"
- "Shine"
- "Sleepy"
- "Storybook"
- "Arise"
- "Baby's breath"
- "Malibu pink"
- "Rio"
- "Ibiza"
- "Tokyo"
- "Fairfax"
- "Cancun"
- "Chinatown"
- "Osaka"
- "Motown"
- "Galaxy"
- "Blood moon"
- "Moonlight"
- "Starlight"
- "Arctic aurora"
- "Nebula"
- "Ocean dawn"
- "Sunday morning"
- "Spring blossom"
- "Lake mist"
- "Frosty dawn"
- "Emerald isle"
- "Beginnings"
- "Horizon"
- "Sunflare"
- "First light"
- "Valley dawn"
- "Emerald flutter"
- "Memento"
- "Resplendent"
- "Scarlet dream"
- "Amethyst valley"
- "Hazy days"
- "Autumn gold"
- "Winter mountain"
- "Misty ridge"
- "Midsummer sun"
- "Spring lake"
- "Midwinter"
- "Amber bloom"
- "Painted sky"
- "Orange fields"
- "Blue Planet"
- "Lily"
- "Winter beauty"
- "Forest adventure"
- "Meriete"
- "Soho"
- "Magneto"
- "Disturbia"
- "Vapor wave"
- "Tyrell"
- "Hal"
- "Still waters"
- "Pensive"
- "Sundown"
- "Palm Beach"
- "Adrift"
- "Majestic morning"
- "Blue lagoon"
- "Lake Placid"
- "Zandvoort"
- "Miami"
- "Bahrain"
- "Singapore"
- "Silverstone"
- "Suzuka"
- name: mapping
label: Mapping Mode
description: How the gradient is laid out across your LEDs.
type: enum
choices: [sequence, per-device, per-zone, matrix, mirror, shuffle]
default: per-zone
control: select
passAs: arg
argName: --mapping
- name: direction
label: Matrix Direction
description: Only used when mapping is "matrix".
type: enum
choices: [left-right, top-bottom, diagonal, radial]
default: left-right
control: select
passAs: arg
argName: --direction
- name: deviceType
label: Device Type
description: Limit to devices of this type. Leave unset to target every device.
type: enum
required: false
choices: [DRAM, GPU, MOTHERBOARD]
control: select
passAs: arg
argName: --device-type
- name: device
label: Device
description: Limit to a single device by name. Leave unset to target every device.
type: enum
required: false
choices:
- "Corsair Vengeance RGB DDR5"
- "Gigabyte GeForce RTX 3060 Gaming OC"
- "MSI MYSTIC LIGHT"
control: select
passAs: arg
argName: --device
- name: zone
label: Zone
description: Limit to a single zone by name. Leave unset to target every zone.
type: enum
required: false
choices:
- "Corsair DRAM"
- "GPU Zone"
- "JAF"
- "JARGB 1"
- "JARGB 2"
- "JARGB 3"
control: select
passAs: arg
argName: --zone
- name: seed
label: Shuffle Seed
description: Only used when mapping is "shuffle".
type: number
default: 0
passAs: arg
argName: --seed
- name: interpolation
label: Interpolation
description: Color space used to interpolate between gradient stops.
type: enum
choices: [rgb, hsv]
default: hsv
control: select
passAs: arg
argName: --interpolation
- name: dim
label: Dim
description: Global brightness multiplier (0-1), independent of the scene's own brightness.
type: number
default: 1.0
min: 0
max: 1
step: 0.05
control: slider
passAs: arg
argName: --dim
- name: noDedupe
label: Disable Color Deduping
description: Keep consecutive duplicate colors instead of collapsing them into one gradient stop.
type: boolean
default: false
control: switch
passAs: flag
argName: --no-dedupe
- name: noBrightness
label: Ignore Scene Brightness
description: Don't scale each gradient stop by the scene's recorded light brightness.
type: boolean
default: false
control: switch
passAs: flag
argName: --no-brightness
- name: fast
label: Fast Mode
description: Use OpenRGB's no-readback fast update mode.
type: boolean
default: false
control: switch
passAs: flag
argName: --fast
- name: dryRun
label: Dry Run
description: Preview the result without touching real hardware.
type: boolean
default: false
control: switch
passAs: flag
argName: --dry-run
- name: dryRunLeds
label: Dry Run LED Count
description: Number of synthetic flat LEDs to use for Dry Run. Ignored otherwise.
type: number
required: false
min: 1
passAs: arg
argName: --dry-run-leds