Suponiendo que tu usuario GitHub se llama user y por lo tanto el dominio que te da GitHub sea user.github.io y tu quieras usar user.com los pasos a seguir serían:

  1. Registrarse en freenom.com
  2. Crear el dominio example.com (Services -> Register a New Domain -> ...)
  3. Una vez creado, ir a la configuración del dominio (Services -> My Domains -> example.com -> Manage Domain)
  4. Seleccionar Management Tools -> Nameservers -> Use default nameservers (Freenom Nameservers)
  5. Ir a Manage Freenom DNS y añadimos las siguientes lineas:
    • Type=A, Target=185.199.108.153
    • Type=A, Target=185.199.109.153
    • Type=A, Target=185.199.110.153
    • Type=A, Target=185.199.111.153
    • NAME=www, Type=CNAME, Target=user.github.io
  6. Ir a las settings del proyecto GitHub github.com/user/user.github.io/settings
  7. Escribir user.com en Options -> GitHub Pages -> Custom domain
  8. Pulsar Save
  9. Si se desea, marcar Enforce HTTPS cuando este disponible

Bonus 1: Si usas Pelican, acuérdate de consultar el Tip #2 de docs.getpelican.com para que no se pierda la configuración.
Bonus 2: Si no quieres que el cambio afecte a todos tus proyectos consulta este issue.
Bonus 3: Si estas fuera de USA y freenom.com falla siempre en el último del paso del registro de dominio prueba a cambiar la dirección de tu perfil de usuario por una de USA y acceder a traves de VPN con una ip de USA.

Fuentes: docs.github.com, stackoverflow.com, reddit.com/r/freenom