I know you can build a Debian system with debootstrap. Using debootstrap it should be possible to create a custom image. The main partition could be read only with separate mounts for anything that need to be read write.
Using containers it should be possible to create a filesystem image. I think the tricky part it testing the image and then updating the existing partition. Maybe some custom ostree tool could do the trick. If not there is always rsync and btrfs snapshots.
Does it have to be Debian based? Otherwise uBlue is a great project!
I’m using NixOS, it’s really freaking awesome and super repeatable but it’s also like smashing myself in the face with a brick every time I want to do something slightly unusual.
I use Silverblue on my main machine. I want something lightweight for my other machine.
Well, uBlue can be as light as you want it to be.
Some other projects I’m thinking of:
Is it for a personal computer or a server?
Obviously, lightweight is open to some interpretation but Silverblue can be made very lightweight by simply uninstalling the default flatpaks. You’ll be left with a very basic GNOME shell and greeter, without any of the common GNOME extras. From there you could easily install your own window manager, greeter, and whatever apps you need.
uBlue is good, but only if you follow the official templates. I was following some other thing which did things very differently and my custom iso ended up broken i.e Anaconda was crashing and installation was impossible.
Edit: the thing is called Bluebuild. I’d recommend to steer clear of Bluebuild and just using the official template on Github. I’m still yet to do that myself but it seems like it might actually work, unlike Bluebuild.