STM32: what files to copy + how to use vanilla FreeRTOS

I have installed STM32CubeIDE and I generated the config files for my nucleo-f446re.
What I observed, is that the STM32 generated a bunch of files and in my understanding all I have to copy in my platformio project is the content of the Core folder.
Actually, it seems that it is enough to copy only main.c and main.h files (i.e. no need to copy sysmsm.c, system_stm32f4xx.c, syscall.c, etc.) in my project folder.

This because other files (the ones mentioned before and Drivers/STM32F4xx_HAL_Drivers, STM32F446RETX_FLASH.ld, etc) are automatically pulled by platformio from somewhere and placed in .platformio/package, .platformio/platforms, etc., and even if they look older (you can compare the generated Drivers/STM32F4xx_HAL_Drivers with .platformio/packages/framework-stm32cube/STM32F4xx_HAL_Drivers) they seems to work fine.

However, my question is: would that be enough to copy just the generated main.c and main.h in my project folder?
It looks like that all the generated configuration code based is stored in these two files.

So far, I know that there is a tool called stm32pio for figuring out what files to copy, but that works if you have MX installed and in my case (macos Sonoma) it won’t install, but yet I can generate the config files with CubeIDE.

Next, I have a question about FreeRTOS: it seems that in the STM32 you cannot choose the vanilla freeRTOS but you must necessarily use the CMSIS wrapper that I want to avoid.
Is there a way to tell platformio to install a vanilla FreeRTOS in .platformio/somewhere and use that in my stm32 projects? How to fix that? Did anyone tried/tested it?