I got something similar from the original Timber Starter Theme that adds up to this:
{% if posts.pagination.pages is not empty %}
<nav class="pagination is-centered" role="navigation" aria-label="pagination">
{% if pagination.pages|first and pagination.pages|first.current != true %}
<a class="pagination-previous" href="https://wordpress.stackexchange.com/questions/345275/{{ pagination.pages"first.link }}">First</a>
{% else %}
<a class="pagination-previous" disabled>{{ __('First', 'calmar-lite') }}</a>
{% endif %}
{% if pagination.prev %}
<a class="pagination-previous" href="{{ pagination.prev.link }}">Previous</a>
{% else %}
<a class="pagination-previous" disabled>{{ __('Previous', 'calmar-lite') }}</a>
{% endif %}
<div class="pagination-list">
{% for page in pagination.pages %}
{% if page.link %}
<a href="{{ page.link }}" class="pagination-link {{ page.class }}">{{ page.title }}</a>
{% else %}
<a class="pagination-link {% if 'current' in page.class %} is-current {% endif %} {{ page.class }}">{{ page.title }}</a>
{% endif %}
{% endfor %}
</div>
{% if pagination.next %}
<a class="pagination-next" href="{{ pagination.next.link }}">
{{ __('Next', 'calmar-lite') }}
</a>
{% else %}
<a class="pagination-next" disabled>
{{ __('Next', 'calmar-lite') }}
</a>
{% endif %}
{% if pagination.pages|last and pagination.pages|last.current != true %}
<a class="pagination-next" href="https://wordpress.stackexchange.com/questions/345275/{{ pagination.pages"last.link }}">Last</a>
{% else %}
<a class="pagination-next" disabled>{{ __('Last', 'calmar-lite') }}</a>
{% endif %}
</nav>
{% endif %}
Oh and while we are on it, I recommend making a partial (separate TWIG file) for this, so you can reuse it, instead of repeating yourself (DRY).