There are some aproches to manage bare metal installations of linux OS with post installation enviroment prepare:
- "FAI + cloud-init"
- "Debian preconfiguration file + shell scripts + apt install -y $(cat package.list)"
- "Squashfs OS deploy + Terraform + Ansible"
- Any above but with some set of docker imsages instead of instalations
FAI - https://fai-project.org/
MAAS (Metal-As-A-Service) - https://maas.io/
Debian - preconfiguration file - https://www.debian.org/releases/stable/i386/apb.en.html
Arch Linux - archinstall saved JSON - https://wiki.archlinux.org/title/Archinstall
cloud-init - https://timeweb.cloud/docs/cloud-servers/manage-servers/cloud-init
Docker
Terraform + Ansible/Puppet/Chef
Debian - BRTFS + snapper
Ubuntu Core - сырая
openSUSE MicroOS - BRTFS + snapper, havy KDE based by default
Arch Linux - BRTFS + snapper, специфичная
Fedora Silverblue - OSTree
NixOS - SVN like
Vanilla OS - ABRoot
Nitrux - Debian-based KGE
squashfs
tar
rsync