explaingit

steamdeckhomebrew/decky-loader

6,731TypeScriptAudience · generalComplexity · 3/5Setup · moderate

TLDR

A plugin loader for the Steam Deck that lets you install community add-ons to customize the device's appearance and behavior, fan curves, themes, sounds, and survives SteamOS system updates.

Mindmap

mindmap
  root((decky-loader))
    What it does
      Steam Deck plugin system
      Survives OS updates
    Plugin examples
      Visual themes
      Fan curves power limits
      Custom sounds
    Tech stack
      TypeScript frontend
      Python backend
    Setup
      Desktop Mode install
      One-line terminal option
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Install community plugins to change your Steam Deck's visual theme, system sounds, or performance settings like fan curves and power limits.

USE CASE 2

Build your own Steam Deck plugin using TypeScript for the UI layer and Python for backend system access.

USE CASE 3

Adjust screen color saturation or apply CSS overrides to the Steam interface without voiding the official experience.

Tech stack

TypeScriptPython

Getting it running

Difficulty · moderate Time to first run · 30min

Requires switching to Desktop Mode on the Steam Deck and running the installer, the installer sets an admin password if one is not already set.

No explicit license is stated in the repository description.

In plain English

Decky Loader is a plugin system for the Steam Deck handheld gaming computer. Valve's Steam Deck runs a customized version of Linux, and Decky Loader sits on top of that to let users install small add-on programs called plugins that change how the device looks and works. Examples include swapping out the visual style of menus, replacing system sound effects, adjusting color saturation on the screen, or tweaking performance settings such as power limits and fan curves. The plugins themselves are separate community projects, each maintained by different developers. Decky Loader is the shared infrastructure that loads them, keeps them running, and lets them communicate with each other and with the Steam interface. It survives system updates and reboots, which matters because SteamOS can update itself automatically and would otherwise remove any modifications. Installation involves switching the Steam Deck from its gaming mode to its desktop mode, downloading an installer file, and running it. No existing admin password is required, though the installer will temporarily set one if none is present. There is also a one-line terminal command for users comfortable with that. Uninstalling follows the same steps by running the installer again and choosing the remove option. The underlying code uses TypeScript on the front end (the Steam interface is a web application) and Python for backend work that needs deeper access to the operating system. The two sides can talk to each other, and plugins can make network requests that bypass certain browser security restrictions that would otherwise block them. The project is funded through Open Collective and has an active Discord community. A wiki covers both end-user documentation and instructions for developers who want to build their own plugins.

Copy-paste prompts

Prompt 1
How do I install Decky Loader on my Steam Deck in Desktop Mode and then add my first community plugin from the plugin browser?
Prompt 2
Walk me through creating a basic Decky Loader plugin with a TypeScript frontend and a Python backend that reads a system value and displays it in the Steam menu.
Prompt 3
How does Decky Loader survive SteamOS updates? Explain the mechanism that keeps plugins running after the system upgrades itself.
Prompt 4
How do I use Decky Loader plugins to set a custom fan curve and power limit on my Steam Deck for better battery life during light gaming?
Open on GitHub → Explain another repo

← steamdeckhomebrew on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.