These have about 20" of clearance and they're 3 feet deep. I couldn't run a 2 x 4 across the top lengthwise to support the front of the shelf, because I wouldn't have had enough clearance to get the totes in.
Each are 40" long and anchor to studs underneath via 3/16" x 5" lag screws. Ceiling supports have 3 screws each.
With my ceiling support in, I got the final length for the shelf by measuring from the wall to the outside of the far ceiling support. Middle 2 x 4 is there because I'm piecing the top together with random-width sections of wafer board I scavenged from the junk pile of the next door house that just got framed – all pieces ripped to 36" so they all run full-depth front-to-back.
Cut my hangers from left-over 2 x 4 from the construction site. Length is ceiling to the top of the kicker on the side wall. I cut a few extra so I wouldn't run out. Single screw to hold it temporarily.
Resting on the kicker and the bar along the back. At this point, I didn't measure anything else, just relied on the level from the edge resting on the kicker. Clamp holds the outside corner while I lag-screw level along the wall.
Screw in place, and then a single 5/16" bolt with washers and lock nut on top and bottom.
Without a front-to-back 2 x 4, this one needs a different support. Same bolt up top, but bottom needs a longer bolt running thru the width of the 2 x 4 hanger. Drilled pilot with a long 1/8" bit I already had, then drilled 5/16 from either end and met in the middle.
Finished the other side and pieced together my random widths of 36" long wafer board, spanned the rail in the center so it goes all the way across.