# Clean Reset: Remove All User Modifications

When Sunshine was modified with workarounds (uinput shim, input bridge, custom config) and you want to go back to a completely clean package state — removing everything created by the user, keeping only what the .deb package installed.

## What to remove

```bash
# Systemd override (all user-added drop-ins)
rm -rf ~/.config/systemd/user/app-dev.lizardbyte.app.Sunshine.service.d/

# Stale manual service file (user-created, not from .deb package)
rm -f ~/.config/systemd/user/sunshine.service

# Workaround files
rm -f ~/.config/sunshine/input_bridge.py
rm -f ~/.config/sunshine/uinput_fix.so
rm -f ~/.config/sunshine/sunshine_state.json.bak

# Custom config (let package defaults regenerate)
rm -f ~/.config/sunshine/sunshine.conf
rm -f ~/.config/sunshine/apps.json

# Reload systemd
systemctl --user daemon-reload
```

## What to keep

- `~/.config/sunshine/credentials/` — pairing certificates, needed for Moonlight clients to reconnect
- `~/.config/sunshine/sunshine.log` — runtime log artifact, harmless

## After reset

Sunshine regenerates `sunshine.conf` and `apps.json` with package defaults on next start. The web UI at `https://localhost:47990` prompts for first-time username/password setup. All previously paired Moonlight clients must be re-paired.

## Ubuntu 26.04 note

Kernel 7.0.0 has broken uinput. A clean install means NO input workarounds — keyboard/mouse injection will fail silently. The uinput diagnostic (see `scripts/diagnose-uinput.sh`) returns -25. To get input working, you must re-deploy either:
- The LD_PRELOAD shim (`scripts/uinput-shim.c`) — but this may not intercept Inputtino's internal code path
- The xdotool input bridge (`scripts/sunshine-input-bridge.py`) — reliable fallback
