Inspired by several of the shelving systems here on Thingiverse, this is a customizable system for creating hexagonal shelves. (I'd list the sources but it looks like the search function for remixes is not working???)
The big difference here is that it is done as a script in OpenSCAD so you can very easily adapt it to different thicknesses of material, screws, etc.
By default it is set to work with 1/4" plywood, and #8 self-tapping screws to secure it.
It is possible to generate the brackets either "open" or "closed" - the latter fills in one side of the bracket and is probably stronger.
One (recommended) change is to make the thickness of the bracket an exact multiple of your layer width. For example, if you make it 2.4 mm and print it with 3 shells, you will get a piece that consists entirely of shells, which will look good and be strong.
Assembly is pretty straightforward, the pieces should friction fit. You can then lock the pieces in place by using self-tapping #8 screws, about 1/2" or less in length.
The whole thing is a single OpenSCAD script. (I may update it to work as a customizer.)
The idea is that you can change the thickness of the shelf material in one place, and generate all the various bits.