One of my projects for 2019 will be to try running an SBC as a desktop machine, to see what's the minimum amount of electricity I can use and yet still have a reasonably good desktop user experience. Whether this will be practical for doing development on I'm not sure, but it's worth a try. If I can get electricity use low enough then maybe there's a chance that in future I could go solarpunk.
I've set up an initial test using a Rock64 (4GB version) running on an SSD via USB3. The I/O bandwidth might not be quite as good as SATA, but it's still going to be a lot better than microSD or EMMC. I've got an old ASUS monitor, a Kensington Orbit trackball, a Unicomp spacesaver keyboard and a USB wifi adapter (suitable for libre distros). There's a small 4 port USB3 passive hub plugged into the Rock64 and a USB2 headphone/microphone adapter for sound. The Rock64 is configured to boot straight from USB3 and is running Armbian (stretch) with XFCE desktop. It's powered by a 15W (5V/3A) supply which is soldered straight to the board rather than using the conventional 3.5mm socket.
Using a test meter the Rock64 with all peripherals plugged in consumes about 10W. With the monitor it goes up to about 40W, so as expected it's actually the screen which takes most of the power.
For comparrisson when running the desktop in a more conventional way with a circa 2012 AMD CPU (before the TrustZone backdoor was added) takes about 200W of power in total, including the monitor. So running on an ARM board really does make a big difference in terms of compute per watt. The Rock64 is undoubtedly slower than the x86 AMD box, but not by all that much and I think some of the slowness is just because the wifi adapter is 2.4GHz only and doesn't use the 5GHz band.
There is also a down side. Armbian on the Rock64 uses a not yet upstreamed HDMI driver and 4K graphics acceleration might be proprietary although I'm not too sure about that. Anything 3D is sluggish, but since I'm not a gamer I don't really care about that. There's also no Tor browser for arm64, so I might see if I can fix that.