A Decky Loader plugin for managing WiFi connections and creating hotspots on Steam Deck.
- WiFi Hotspot Toggle - Share your wired/ethernet connection via WiFi with one tap
- Hotspot Settings - Customize SSID, password, and WiFi band (2.4GHz/5GHz)
- WiFi Network Scanner - Scan and view available networks with signal strength
- WiFi Connect - Connect to networks with password support
- In-App Setup Wizard - No terminal needed! Enter sudo password once in the plugin
| Hotspot Active | Hotspot Settings |
|---|---|
![]() |
![]() |
| Hotspot enabled with credentials | Configure SSID, password, and band |
- Open Decky Loader on your Steam Deck
- Go to the Store
- Search for "WiFi Manager"
- Click Install
- Download the latest
WiFi-Manager.zipfrom Releases - On Steam Deck: ... button > Decky > Store > Gear icon > Install from ZIP
- Select the downloaded ZIP file
cd ~/homebrew/plugins
git clone https://github.com/deucebucket/WiFi-Manager.git
sudo systemctl restart plugin_loaderWhen you first open WiFi Manager, you'll see a Setup Required screen:
- Tap "Start Setup"
- A popup appears - enter your Steam Deck sudo password
- Tap "Setup"
- Done! The plugin now has permission to manage WiFi
Note: If you haven't set a sudo password on your Steam Deck yet, you'll be guided to create one.
- Connect your Steam Deck to ethernet (USB-C adapter or dock)
- Open WiFi Manager in Decky
- Toggle "WiFi Hotspot" ON
- Your hotspot credentials are displayed - share with other devices!
Tap "Hotspot Settings" to customize:
- SSID - The network name others will see
- Password - Must be at least 8 characters
- WiFi Band - 2.4GHz (better range) or 5GHz (faster speed)
- Make sure hotspot is OFF
- Tap "Scan Networks"
- Select a network from the list
- Enter password if required
- Connected!
| Setting | Default Value |
|---|---|
| SSID | SteamDeck |
| Password | password123 |
| Band | 2.4 GHz |
- Steam Deck running SteamOS
- Decky Loader installed
- Wired ethernet connection (for hotspot feature)
dnsmasqpackage (auto-installed on most SteamOS versions)
- Make sure you have a wired ethernet connection
- Check if
dnsmasqis installed:which dnsmasq - If missing, install it:
sudo steamos-readonly disable sudo pacman -S dnsmasq sudo steamos-readonly enable
- Make sure you're entering the correct sudo password
- If you haven't set a password, the plugin will guide you to create one
- This is normal - when hotspot is active, WiFi shows as connected to "Hotspot"
journalctl -u plugin_loader | grep -i wifi# Clone the repo
git clone https://github.com/deucebucket/WiFi-Manager.git
cd WiFi-Manager
# Install dependencies
pnpm install
# Build
pnpm run build
# Link to Decky (for development)
ln -s $(pwd) ~/homebrew/plugins/WiFi-Manager
sudo systemctl restart plugin_loaderWiFi-Manager/
├── main.py # Python backend - nmcli commands
├── plugin.json # Decky plugin manifest
├── package.json # Node/pnpm configuration
├── rollup.config.js # Build configuration
├── tsconfig.json # TypeScript configuration
├── src/
│ └── index.tsx # React frontend
├── dist/ # Built frontend (generated)
├── defaults/
│ └── settings.json # Default hotspot settings
└── assets/
└── install.sh # Setup script (legacy)
- Backend: Python 3 with
subprocessfornmclicommands - Frontend: React + TypeScript with Decky UI components
- Build: Rollup with
@decky/rollup - WiFi Management: NetworkManager via
nmcli
Contributions welcome! Please:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
MIT License - see LICENSE for details.
- Decky Loader - Plugin framework
- Muon - Reference for WiFi hotspot approach
- Built with help from Claude Code
See ROADMAP.md for planned features including:
- WiFi Repeater Mode - Connect to WiFi AND broadcast hotspot (coming v1.1)
- QR Code sharing - Scan to connect (coming v1.2)
- Connected devices list - See who's on your hotspot (coming v1.3)
See CHANGELOG.md for version history.

