Sorry, not clear enough for me. And I don’t have a test site with content to check the theme. If you want to share a repo, or explain in more detail what you are looking for, I might be able to help. Hopefully someone will come along that gets yer request.
Can’t test right now, but the way I would go about it would be to skip the pagination from the index.
Have the recent post on the home page as you do. Then point that button to a page where you list everything. .Site.GetPage coupled with where is the way to do this.
Building sites … ERROR 2018/02/04 11:51:12 Error while rendering "page" in "page/": template: theme/page/allposts.html:19:16: executing "theme/page/allposts.html" at <.Paginate>: error calling Paginate: Paginators not supported for pages of type "page" ("all posts")
And every variation either doesn’t return a layout or goes back to an error about Pages not usable in Paginate.