Nearly Stateless Computing Using Syncthing
Syncthing is a piece of software designed to … sync … things. It's a peer-to-peer file syncronization tool which I run on nearly every computer I own to sync collections of files between online devices in nearly real-time. This has allowed me to increasingly treat my endpoint machines, my laptop, my GPD Pocket, etc as fungible, nearly stateless machines, at the cost of making Secure Backup Infrastructure slightly more difficult.
I have a lot of data exposed in my Syncthing; this laptop, with my entire Music and Photo libraries on it, as well as all of my Code, this Wiki, and some upload-only directories, I am managing 500GiB of data via Syncthing. My server has yet more folders managed by Syncthing. It makes Provisioning New Machines easier, it lets me take more daring steps to harden and grow my environment. Once this whole experiment integrating CCE in to my wiki is done, I'll probably be able to simplify my bootstrap even further.
Syncthing is installed with home-manager, and bootstrapped manually. it's a bit of a pain and i'd like to have a better configuration generator some day…
services.syncthing.enable = true; services.syncthing.tray = true;