Hi:
If you don't need to keep more than one FPGA configurations, the most cost-effective solution is to use one single SPI configuration device (active serial configuration). Several SPI flash memories from ST may be used.
We use an M25P16 as an active serial configuration device. For using the HAL flash functions to read/write from this device some very simple driver modifications (for properly recognising the device id) are required.
We use this flash to store the FPGA configuration and the startup application (custom bootloader), booting like if it were an EPCS device.
The flashprogrammer does not work with this device, but we are able to update its contents from the custom bootloader, then it's just a matter of reding/writing using the Quartus programmer.
The command line tools are very useful for creating the required .flash files from the .elf and .sof files.