If you build Linux images for VMs, cloud instances, or appliances, you usually face the same tradeoff: ship a large image that wastes space everywhere, or ship a small image and rely on ad hoc first-boot scripts to resize partitions systemd-repart gives you a cleaner option. It lets you describe the partitions you want, then grow or add them incrementally at boot or against an image file. The useful part is not just automation. It is that the behavior is declarative, repeatable, and incremental . In this guide, I will show a practical pattern for: growing the root partition on first boot, adding a dedicated /var partition when extra disk space exists, growing the filesystem itself with x-systemd.growfs , and dry-running the whole layout safely against an image file before rollout.…