Skip to content

Decky Loader plugin for Steam Deck WiFi and hotspot management

License

Notifications You must be signed in to change notification settings

deucebucket/WiFi-Manager

Repository files navigation

WiFi Manager for Steam Deck

Version Platform Decky Plugin

A Decky Loader plugin for managing WiFi connections and creating hotspots on Steam Deck.

Features

  • 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

Screenshots

Hotspot Active Hotspot Settings
Hotspot Active Hotspot Settings
Hotspot enabled with credentials Configure SSID, password, and band

Installation

From Decky Store (Recommended)

  1. Open Decky Loader on your Steam Deck
  2. Go to the Store
  3. Search for "WiFi Manager"
  4. Click Install

From ZIP File

  1. Download the latest WiFi-Manager.zip from Releases
  2. On Steam Deck: ... button > Decky > Store > Gear icon > Install from ZIP
  3. Select the downloaded ZIP file

Manual Installation

cd ~/homebrew/plugins
git clone https://github.com/deucebucket/WiFi-Manager.git
sudo systemctl restart plugin_loader

First Time Setup

When you first open WiFi Manager, you'll see a Setup Required screen:

  1. Tap "Start Setup"
  2. A popup appears - enter your Steam Deck sudo password
  3. Tap "Setup"
  4. 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.

Usage

Creating a Hotspot

  1. Connect your Steam Deck to ethernet (USB-C adapter or dock)
  2. Open WiFi Manager in Decky
  3. Toggle "WiFi Hotspot" ON
  4. Your hotspot credentials are displayed - share with other devices!

Hotspot Settings

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)

Connecting to WiFi

  1. Make sure hotspot is OFF
  2. Tap "Scan Networks"
  3. Select a network from the list
  4. Enter password if required
  5. Connected!

Default Settings

Setting Default Value
SSID SteamDeck
Password password123
Band 2.4 GHz

Requirements

  • Steam Deck running SteamOS
  • Decky Loader installed
  • Wired ethernet connection (for hotspot feature)
  • dnsmasq package (auto-installed on most SteamOS versions)

Troubleshooting

Hotspot won't start

  1. Make sure you have a wired ethernet connection
  2. Check if dnsmasq is installed: which dnsmasq
  3. If missing, install it:
    sudo steamos-readonly disable
    sudo pacman -S dnsmasq
    sudo steamos-readonly enable

Setup fails

  • Make sure you're entering the correct sudo password
  • If you haven't set a password, the plugin will guide you to create one

Plugin shows "Not Connected" but hotspot is on

  • This is normal - when hotspot is active, WiFi shows as connected to "Hotspot"

Check logs

journalctl -u plugin_loader | grep -i wifi

Development

Building from Source

# 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_loader

Project Structure

WiFi-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)

Key Technologies

  • Backend: Python 3 with subprocess for nmcli commands
  • Frontend: React + TypeScript with Decky UI components
  • Build: Rollup with @decky/rollup
  • WiFi Management: NetworkManager via nmcli

Contributing

Contributions welcome! Please:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

License

MIT License - see LICENSE for details.

Credits

  • Decky Loader - Plugin framework
  • Muon - Reference for WiFi hotspot approach
  • Built with help from Claude Code

Roadmap

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)

Changelog

See CHANGELOG.md for version history.

About

Decky Loader plugin for Steam Deck WiFi and hotspot management

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •