# 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 tokens: - name: test-verification tokenHash: ${TRIGGERSHELL_TOKEN_TEST_VERIFICATION_HASH} # Add an API token with: triggershell users add-token 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