I’ve had similar thoughts some several months ago, but I haven’t even figured out how to get a stable desktop environment in a VM (my experience with Linux is mostly in server-land). My overall approach for idempotency is a git repository that has a Terraform blueprint and an Ansible blueprint, and the whole kit is pointed at my home ProxMox cluster.
With this workflow I can lift and shift my entire localnet wherever I want in the future.
You could use a much simpler blueprint approach to accomplish your Desktop Environment VM. You’ll want to externalize any data that won’t get included in a blueprint rebuild (databases, games save files, media libraries, etc.).


I found this reference to some
authororigin more than a century old: https://ingeb.org/Lieder/thenight.htmlEdit: I misread the heading. J. Mark Sugars is a contemporary source who put together this representative example of a century-old joke.