Forked from hunterloftis/dotfiles but modified for my use.
Dotfiles to unlock general development capabilities on a Steam Deck.
- Keeps SteamOS's read-only mode & stability
- Enables VSCode devcontainer development on arbitrary sets of containers (node, postgres, etc)
- Enables Docker & Docker-compose
- Enables OpenVPN and pulls down NordVPN's ovpn configs
- Works alongside Steam Deck updates and even re-imaging the Deck
- Applies all changes via an idempotent
~/.decksetup.sh
script - Connects flatpak (vscode) to podman via podman-docker and docker-compose
Tested via:
- Reimaging the deck back to factory state
- Following the instructions in Quick start below
~/test/node
shows running a node devcontainer with vscode's default config- demonstrates using
runArgs
andcontainerUser
to work as a non-root user
- demonstrates using
~/test/node-pg
shows running node & postgres simultaneously with docker-compose- uses vscode's default config, after commenting out the non-root user
You probably want to fork these dotfiles & read through them to tune to your preferences. Otherwise, after running these commands, your Deck will be identical to mine.
- Connect to wifi
- Go to Power -> Desktop mode
- Open a Konsole terminal
- Set up dotfiles managed via the HackerNews dotfiles strategy:
cd ~
git config --global init.defaultBranch main
git init --bare ~/.dotfiles
alias dotfiles='/usr/bin/git --git-dir=$HOME/.dotfiles/ --work-tree=$HOME'
dotfiles config status.showUntrackedFiles no
dotfiles remote add origin https://github.com/robotjohn/dotfiles-sd.git
dotfiles fetch --all
dotfiles reset --hard origin/main
passwd # choose a password for sudoing on your deck
~/.decksetup.sh
If you've already been using podman,
you should podman network ls
and podman network rm
any
existing networks, to ensure that they'll be recreated with the podman-dnsname plugin.
Finally, restart your deck.
Podman isn't the most resilient software, but at least it's easy to reset:
podman system reset