This only seems useful for user-defined glsl types. The builtin glsl types would only have to be written out once as D types.
The general idea of "importing" types is a good one and I think this is what F# achieves with type providers. I've seen this applied to database schemas and filesystems, but never OpenGL.
I'm currently doing something similar in C++ based on a project I worked on a couple of years ago. It is a wrapper around OpenGL for people like me who are tired of figuring out the specifics of the OpenGL calls every time they write something.
Goal: Easy access to shaders and its respective buffers with a bare bones visualization.
Example:
I should clean it up and make it available as a library.