# generic + compressed please
hostonly="no"
compress="xz"

# VMs can't update microcode anyway
early_microcode="no"

# modules: basics
dracutmodules+=" dracut-systemd i18n shutdown "

# modules: storage support
dracutmodules+=" dm lvm rootfs-block fs-lib "

# modules: tpm and crypto
dracutmodules+=" crypt crypt-loop tpm2-tss systemd-pcrphase "

# dracut >= 102 separated systemd-cryptsetup into its own module
CSMODULE=`dracut --list-modules --no-kernel | grep '^systemd-cryptsetup$'`
dracutmodules+=" $CSMODULE "

# modules: support root on virtiofs
dracutmodules+=" virtiofs "

# modules: use sysext images (see 'man systemd-sysext')
dracutmodules+=" systemd-sysext "

# modules: root disk integrity protection
dracutmodules+=" systemd-veritysetup "

# modules: FIPS
dracutmodules+=" fips "
# FIPS mode requires early crypto drivers test
drivers+=" =crypto "

# drivers: virtual buses, pci
drivers+=" virtio-pci virtio-mmio "      # qemu-kvm
drivers+=" hv-vmbus pci-hyperv "         # hyperv
drivers+=" xen-pcifront "                # xen

# drivers: storage
drivers+=" ahci nvme sd_mod sr_mod "     # generic
drivers+=" virtio-blk virtio-scsi "      # qemu-kvm
drivers+=" hv-storvsc "                  # hyperv
drivers+=" xen-blkfront "                # xen

# root encryption
drivers+=" dm_crypt "

# root disk integrity protection
drivers+=" dm_verity overlay "

# filesystems
filesystems+=" vfat ext4 xfs overlay "
