Parts modelled separately, assembled with geometry nodes
Whole setup is controlled with one curve, head and tails are added procedurally, amount of links depends on length
I featured you on BlenderNation, have a great weekend!