Container checkpoint/restore?

I want to be able to save running containers to disk and restore later. CRIU seems to be the best tool for the job.

Unfortunately it doesn’t work with systemd containers which nixos containers are based on.
Viable flatforms include docker, podman and lxc/lxd.

Given existing nixos tooling, I’ve thought of two approaches:

  1. Build the nixos-based container image with docker, then use docker’s checkpoint functionality
  2. Build the desired nixos machine with nixops and deploy via libvirt, then use virsh to manage

Has anyone tried to achieve the same thing? What’s your experience and comment?