Do you often use the terminal (or something like VS Code Remote extension) to do builds on a beefier machine, or do you do all your development literally on the SteamDeck hardware using tools like Distrobox? And what kind of development do you do?
I ask because I need to get a new laptop, but only for the once or twice per month I go physically to the office, and was thinking a Steam Deck might make more sense than a traditional laptop that would be idle ~340 days of the year. (I can almost always get a monitor and external keyboard at the office, so it would be a rare day that I was actually stuck with the 1280×800 screen.)
What kind of development do you do? In theory, it's possible for a lot of roles. If you can get your environment working smoothly on a distro that Distrobox supports then you should be able to work on it.
I'd love to see someone rock up to the office with a Steam Deck, plug it in, and just start working. That's quite the image.
[1] The Steam Deck has a kind of A/B boot. By default it loads into Gaming mode and the other is Desktop mode. In Gaming mode, most apps and services aren't running (as far as I can tell but now I want to check) so I don't think you could ensure a server stays running in the background if you switched back to Gaming mode. On the other hand, you could live totally in Desktop mode and game from there, only losing the nice Gaming mode GUI.
Loving the trend, though. Between Distrobox and Docker, containers seem to be the inescapable "Matryoshka dolls" of the tech world.
But all jokes aside, the flexibility this provides is impressive. If you told me a few years ago that I'd be able to run a full Ubuntu environment on a handheld gaming device, I would've raised an eyebrow
Steam Deck apps (mostly) have to come from a Flatpak repo to install correctly but Flathub (the default repo and therefore defacto app store on the Steam Deck) has lots of the common apps for daily use, even if they are largely unofficial/unsupported versions. So for 95% of people, it's definitely usable as a laptop/desktop replacement, but if you want to develop or want stuff outside the Flatpak repos, it's a bit of a hassle.
That said, I love this thing.
If you want a portable DevOps station, you want a cheap laptop. You don't want to use the default Steam Deck keyboard for much more than entering a login name or something. A Steam Deck with a keyboard plugged into it is much closer to a desktop setup than anything I'd call portable.
But portability is the only question. It's still a full computer. It just isn't a very convenient one for anything other than games.
I personally do use it a lot like a Nintendo Switch, though. You can easily have a desktop-like setup at home behind a dock, and then pop it out and carry it off portably. It's not quite as slick as a Switch but it works. But, again, this is a desktop setup with the Deck standing in as the computer, not a portable setup.
But for that, any laptop sucks, so I've been using suitcase-sized desktops for .. well basically forever. But then in recent years it got so easy to develop on a laptop, but have everything running on a remote machine. I mean there's GitPod and GitHub Codespaces, and before that there were... uh, some web-based IDEs that didn't really work...
But then there came VS Code Remote so like as long as your laptop/[cyber|steam]deck can run VS Code and maybe some browsers, you're good to go!
So I mean OH FUCK IT WHY AM I STILL EVEN TALKING... WHOOOO!!! ORDERED
Here is a link to a photo of my setup at office: https://i.imgur.com/yT8CRfp.jpg
It has a Ryzen Z1 Extreme CPU (Zen 4), RDNA3 graphics, 512Gb storage, 16Gb RAM and 1080P 7" screen, so I think it should be good enough for web development, at least anything that doesn't need more than 16Gb RAM and a beefier CPU, but if you need that sometimes you can go cloud when you need it.
The Steam Deck default OS (Steam OS 3) is a heavily locked down variant of Arch with only a couple of writable directories. With Distrobox, I can run an Ubuntu environment from one of those directories, ensuring that when I install SDKs or tools, they're being installed to a writable area of the OS but require no config to change what they think is intended install location.