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.