A few years ago, I wrote a guide on Reddit detailing how to mount a Samba share on a Steam Deck using systemd. This permitted the remote storage of ROMs, media, and other associated content that nerds like me want access to on their Deck. Recently, another user (u/rogercrocha) appeared in that thread with a ChatGPT-generated script to automate the process. This inspired me to revisit my old project and build a proper, native tool to make adding an SMB share incredibly easy—and honestly, quite pleasant.
This is the result.
- Zero-Terminal Experience: Completely GUI-driven using native KDE Plasma dialogs (
kdialog). - Update Resilient: Safely mounts your shares within the
/home/deck/directory, ensuring your configuration survives major SteamOS system updates. - High Performance: Utilizes the kernel CIFS driver rather than user-space FUSE frameworks (like Dolphin's default network viewer) for better emulator compatibility and lower CPU overhead.
- Automated Lifecycle: Generates strict, FHS-compliant
systemd.mountand.automountunits, securely stashes your credentials, and handles thesudoheavy lifting.
This wizard DOES NOT install, create, or host a Samba server. It will not turn your Steam Deck into a NAS, nor will it create a share for you.
This tool is strictly designed to act as a client that connects to an outside source. It requires that you already have a fully functioning, accessible Samba share living somewhere else on your network (such as a Synology NAS, a TrueNAS server, a Windows PC, or a homelab).
Before you run this script, you must already have the following ready to go:
- A running NAS or server hosting an active SMB share.
- The exact IP address of that server.
- A tested username and password that has access to the share.
- Verified that the share is successfully reachable over your local network from another device.
Because this wizard creates system-level mount units, it requires root (sudo) access.
Out of the box, SteamOS does not have a user password set. If you have never set a password on your Steam Deck, you must do so before running this wizard:
- Open Konsole in Desktop Mode.
- Type
passwdand press Enter. - Create a secure password (it will not show characters on screen as you type).
Installation is scripted for ease of use. Simply copy the following one-liner into Konsole and press Enter:
curl -sSL https://raw.githubusercontent.com/Operator873/steam-deck-smb-mount/main/install.sh | bash
After the script completes, you will have an SMB Mount Wizard shortcut added directly to your Desktop. Double-click it to launch the tool!
The wizard supports seamlessly modifying SMB configurations that it has created (it explicitly ignores and will not alter other systemd mount units on your system). Once you've created an SMB mount with this utility, you may relaunch the wizard via the desktop shortcut at any time and select "Modify" to change IPs, paths, or credentials.
The wizard features a built-in removal utility to make tearing down SMB shares just as easy as creating them. Launch the wizard and select "Remove" to safely stop the services, delete the systemd units, and wipe your cached credentials.
To fully remove the wizard itself from your system, execute the following commands in Konsole after you have used the tool to unmount your shares:
cd ~
rm -f smb_wizard.sh
rm -f Desktop/SMB-Wizard.desktopThis project was built to make life easier for the Steam Deck community, and I welcome any help to make it even better!
- Found a bug? If the script fails, throws an error, or just doesn't work with your specific NAS setup, please open an Issue. Be sure to include what type of NAS you are connecting to and any error messages you received.
- Have an idea? Feature requests are always welcome. Drop your ideas in the Issues tab so we can discuss them.
- Want to code? Pull requests are openly encouraged! If you've written a fix or a new feature, feel free to submit a PR. Just ensure your bash script modifications remain layperson-friendly and avoid introducing external dependencies.