How to make custom setting type

I’m also trying to achieve something similar but seems like the approach they took is following formats such as the one at @Johani uses at Custom Header Links but clearly it would be nice if we can create custom types.

Appreciate if you find the solution.