Das Tool starship hatte ich schon mal in einem Blog-Artikel erwähnt und genauer beschrieben:

Der Standard-Prompt ist zu langweilig? Die Befüllung der Variablen PS1 ist zu kompliziert und unflexibel? Es sollen mehr Informationen dargestellt werden?

Kein Problem, ich habe jetzt das Tool Starship für mich entdeckt…

Vor einiger Zeit habe ich die Installation des Tool inklusive mit meiner Konfiguration in eine Ansible-Rolle gegossen.

Die Rolle

Diese Ansible-Rolle findet sich auf meinem persönlichen gitlab-Account im Unterordner ansible-roles des Projektes.

Die Rolle muss nur in das roles-Verzeichnis der jeweiligen Ansible-Playbooks kopiert werden. Danach kann sie in einem Playbook verwendet werden, wobei mindestens die Namen der Accounts angegeben müssen, wo die Rolle installiert werden soll. Ein Beispiel-Playbook findet sich in der Datei README.md des Unterordners der Rolle.

Rollen-Variable: starship_user

Die Namen der Accounts, wo die Rolle installiert werden soll, müssen als Liste angegeben werden.

1starship_user:
2  - user1
3  - user2

Die Beschreibung der Rollen-Variablen findet sich aber ebenfalls noch einmal in der Datei README.md inklusive weiterer Erklärungen.

Schwierigkeiten: Timeout

Allerdings stieß ich auf die Schwierigkeit bei einem meiner Rechner, dass das git-Kommando mehr als die vordefinierten 500 Millisekunden brauchte.
Daher habe ich die Variable starship_extra_options eingeführt, wo ich das command_timeout höher setzen konnte:

1starship_extra_options: 'command_timeout = 1000'

Theoretisch lassen sich da noch mehr individuelle Optionen setzen, sofern benötigt.

Beispiel:

1starship_extra_options: |
2  command_timeout = 1000
3  
4  [container]
5  format = '[$symbol \[$name\]]($style) '

Minimales Playbook

Ein minimales Playbook sieht beispielsweise so aus:

1---
2
3- name: Setup starship
4  hosts: linuxhosts
5  roles:
6    - starship
7  vars:
8    starship_user:
9      - user1

Vorbei sich die Variable starship_user natürlich noch als Host- oder Gruppenvariable definieren lässt, womit das Playbook noch kleiner wird.

Der alte Blog-Artikel findet sich hier, dort wird das Tool noch einmal etwas genauer erklärt.