This is a minor feature request, yet somewhat important in that it pertains to security-related UX.
It would be nice to have either a per-user/organization or a global (site admin option) to default the checkbox controlling private repository status to a checked state. We had a few close calls with gitea where private code was almost checked into a public repository as a result of this, and would really appreciate such an option.
Keep in mind that something private can always be made public, but for a lot of private things once they are made public there's no ever taking them back.
Here's a screenshot to make it clear what option is being referred to:

(_I am not entirely sure, but I feel that gogs may have had such an option_)
Set this in your app.ini config
[repository]
; Force every new repository to be private
FORCE_PRIVATE = false
This defaults new repos to private. They can always be changed to public afterwords.
Thanks. I've come across that but didn't realize that the user still had the option to make repositories public thereafter.
It would be nice to have a middle ground option where the checkmark can be ticked by default, but the user has the option of changing that at creation time.
It is named badly but actually does exactly what you want, just makes private checked by default
@lafriks no, for me it forces the tick to be selected and that tick cannot be unselected on the new repo screen.

Oh, sorry than. Quick look at code looked like it should not actually force but you are right
No problem. Thanks for the fast reply and changing the tag.
I'd love to tweak that default-checked behavior too.
In my case I'd like new repositories to be public by default,
so unchecked-by-default.
And eventually an option to prevent some users from creating
private repositories at all...
Awesome! Thank you very much!
I understand that you can now make all new and migrated repos private default, but what about being about to remove the ability by users to make the repo private after it is created? This is what @mqudsi was asking about originally. Has this been implemented?
No, my issue has been addressed. You should probably open a new issue.
If you found this on Google, the option available is: DEFAULT_PRIVATE = true
Most helpful comment
Set this in your app.ini config
This defaults new repos to private. They can always be changed to public afterwords.