Fabric API has a built in hook for custom armor renderers. Looking at your code, it appears many of your mixins (that would conflict with geckolib occasionally) are unnecessary if you do this.
net.fabricmc.fabric.api.client.rendering.v1.ArmorRenderer
register it with ArmorRenderer.register(YOUR_RENDERER, YOUR_ITEM)
Fabric API has a built in hook for custom armor renderers. Looking at your code, it appears many of your mixins (that would conflict with geckolib occasionally) are unnecessary if you do this.
net.fabricmc.fabric.api.client.rendering.v1.ArmorRenderer
register it with ArmorRenderer.register(YOUR_RENDERER, YOUR_ITEM)