Whenever I Google to try to find an actual formal statement of the first incompleteness theorem (as opposed to all the oversimplified explanations that talk about "true but unprovable theorems" rather than theorems independent of the axioms), the definitions that don't just mention something like a system with "strong enough to do arithmetic on the natural numbers" mention a system with an "a sufficiently expressive procedure" for enumerating theorems, which is reminiscent of terminology used in explanations I've seen of Turing machines, and so I thought perhaps it meant that the incompleteness theorems apply specifically to Turing complete systems. However, when I posted about this on Quora I got responses saying that Turing completeness has nothing to do with it, whereas, on the askcomputerscience subreddit, I got responses saying that yes, the type of systems the incompleteness theorems apply to are mathematically equivalent to Turing complete models of computation.
So which is correct? Is a system with a "a sufficiently expressive procedure for enumerating theorems" just a Turing complete complete formal language/model of computation? If not, what exactly does that terminology mean?
To be clear, I understand that the first incompleteness theorem states only that a formal language with "a sufficiently expressive procedure for enumerating theorems" must be either inconsistent or incomplete (i.e. must either imply contradictions or contain theorems that are probably true in some models of the language and provably false in such models), so I don't need an explanation of what the theorem says, so much as clarification on what types of formal languages it actually applies to.
I did see this answer to a related question, which seems to imply that the types of languages/systems the incompleteness theorem applies to are systems that are "recursively axiomatized" systems, but it's not entirely clear what that means. Based on other simplified explanations I've seen of the the theorem, I guessing it refers to something like "a system sufficiently powerful to talk about itself" which would intuitively seems to match up with the concept of using Godel numbering to construct a statement like, "This theorem is unprovable", but that still seems rather vague and nonrigorous. Surely, there has to be a specific and rigorous definition/description of the sorts of systems the theorem applies to though, otherwise how would it be useful?