I don’t think you can do this with a repeater; I’d do it with multiple layers.
See attached project. It’s a bit of a weird idea, but we can use the graph editor to visually define a function that we can use to drive other values. The best part is, that function can be mathematically precise, or it can be art-directed as you need, just be tweaking the curve. In this project, I have applied exponential easing to the “Distribution Curve (0-1)”.
How does this work?
A function takes an input (x) and returns an output (y). By defining the graph of our functioni in the timeline, we can use time as X (input) and the value of the property as Y (output). We can then get that Y value with the valueAtTime() expression, and rescale it to whatever values we need in our comp.
Big picture: we’re using this curve/function to drive their X position as their layer index increases.
More details: The comp has a CONTROLS layer with selectors for the first and last layers in the set, and the minimum and maximum X values to assign. For each shape layer, as its index goes from the index of the first chosen layer (currently 2) to the last chosen layer (currently 21), we sample along the curve we made from our input time=0 to time=1. As that the output of the function goes from 0 to 1, we position the layer from the minimum to the maximum value.
Then, just to be really fancy, we have a Strength setting that allows you to animate the layers from the positions you define with the XPosition property for each to their correct location in the distribution (as strength goes from 0 to 100). Right now, they’re distributed horizontally, but if you selected all the Shape layers and used the Align Left button, they’d all start at 0 (the left edge of the frame) and go out to their positions as you animate Strength from 0 to 100.
Check it out and ask questions!