> once you require shaders, you need to add something like GLAD and let SDL2 > handle the windowing and inputs (...) only.
Not necessarily. If you use [Vladar4's excellent SDL2 wrapper](https://github.com/Vladar4/sdl2_nim) you can use [SDL GPU](https://vladar4.github.io/sdl2_nim/sdl_gpu.html) to get actual shaders with a SDL-friendly API.