o-my-posh
Um o-my-posh zu installieren ist das herunterladen erforderlich. Dies kann mithilfe der PowerShell und des nachfolgenden Kommandos durchgeführt werden.
Set-ExecutionPolicy Bypass -Scope Process -Force; Invoke-Expression ((New-Object System.Net.WebClient).DownloadString('https://ohmyposh.dev/install.ps1'))
Nach dem herunterladen ist ein Neustart der PowerShell erforderlich (schließen und wieder öffnen) und mit nachfolgendem Kommando zu überprüfen ob die Installation von o-my-posh erfolgreich war.
o-my-posh --version
Um o-my-posh verwenden zu können ist die Installation benötigter Fonts erforderlich. Dies kann mit nachfolgendem Kommando durchgeführt werden.
oh-my-posh font install meslo
Nach dem Abschluss der Installation kann mit der Einbindung in die Powershell bzw. die git Bash fortgesetzt werden.
PowerShell Integration
Um o-my-posh in der PowerShell zu aktivieren ist es erforderlich die heruntergeladene Font zu aktivieren. Diese Einstellung kann durch die Tastenkombination STRG + SHIFT + , aufgerufen werden.
In den profiles sind folgende Einstellungen zu ergänzen. Alle anderen Einstellungen sind unverändert zu lasssen.
{ "profiles": { "defaults": { "font": { "face": "MesloLGM Nerd Font" } } } }
Zuletzt ist noch über das nachfolgende Kommando o-my-posh in das Profil der Power-Shell einzutragen.
notepad $PROFILE
- PROFILE
oh-my-posh init pwsh --config %USERPROFILE%\o-my-posh.json | Invoke-Expression
Sollte es zu einem Fehler beim Öffnen der Datei kommen ist folgendes Kommando auszuführen:
New-Item -Path $PROFILE -Type File -Force
Nach dem hinzufügen der o-my-posh initialisierung ist noch ein Theme zu wählen und im %USERPROFILE%
Ordner unter o-my-posh.json
zu speichern.
Anschließend ist die PowerShell neu starten (schließen und wieder öffnen).
Wird o-my-posh
nicht gestartet und eine Fehlermeldung angezeigt (siehe Bild), kann das Ausführen von Skripten in der PowerShell durch Windows blockiert sein.
Um dies zu aktivieren ist folgender Befehl (in der Powershell als Administrator) auszuführen:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope LocalMachine
git Bash Integration
Um o-my-posh in der git Bash zu aktivieren ist es erforderlich die heruntergeladene Font zu aktivieren. Diese Einstellung kann in den Optionen der Konsole aktiviert werden.
Im linken Menü auf Text wechseln.
Und nachfolgende Font einstellen.
Zuletzt ist noch über das nachfolgende Kommando o-my-posh in die .bashrc der git Bash einzutragen.
notepad .bashrc
- .bashrc
eval "$(oh-my-posh --init --shell bash --config ~/o-my-posh.json)"
Nach dem hinzufügen der o-my-posh initialisierung ist noch ein Theme zu wählen und im %USERPROFILE% Ordner unter o-my-posh.json zu speichern.
Anschließend die git Bash neu starten (schließen und wieder öffnen).
Theme
Unter folgendem Link kann ein entsprechendes Theme gewählt oder auf das hier zur Verfügung gestellte Theme zurückgegriffen werden.
- json o-my-posh.json
{ "$schema": "https://raw.githubusercontent.com/JanDeDobbeleer/oh-my-posh/main/themes/schema.json", "version": 2, "final_space": true, "console_title_template": "{{ .Shell }} in {{ .Folder }}", "blocks": [ { "type": "prompt", "alignment": "left", "segments": [ { "type": "session", "style": "diamond", "foreground": "p:black", "background": "p:yellow", "leading_diamond": "\ue0b6", "trailing_diamond": "\ue0b0", "template": " {{ if .SSHSession }}\uf817 {{ end }}{{ .UserName }} " }, { "type": "path", "style": "powerline", "powerline_symbol": "\ue0b0", "foreground": "p:white", "background": "p:orange", "template": " \uf74a {{ path .Path .Location }} ", "properties": { "style": "folder" } }, { "type": "git", "style": "powerline", "powerline_symbol": "\ue0b0", "foreground": "p:black", "foreground_templates": [ "{{ if or (.Working.Changed) (.Staging.Changed) }}p:black{{ end }}", "{{ if and (gt .Ahead 0) (gt .Behind 0) }}p:white{{ end }}", "{{ if gt .Ahead 0 }}p:white{{ end }}" ], "background": "p:green", "background_templates": [ "{{ if or (.Working.Changed) (.Staging.Changed) }}p:yellow{{ end }}", "{{ if and (gt .Ahead 0) (gt .Behind 0) }}p:red{{ end }}", "{{ if gt .Ahead 0 }}#49416D{{ end }}", "{{ if gt .Behind 0 }}#7A306C{{ end }}" ], "template": " {{ if .UpstreamURL }}{{ url .UpstreamIcon .UpstreamURL }} {{ end }}{{ .HEAD }}{{if .BranchStatus }} {{ .BranchStatus }}{{ end }}{{ if .Working.Changed }} \uf044 {{ .Working.String }}{{ end }}{{ if .Staging.Changed }} \uf046 {{ .Staging.String }}{{ end }} ", "properties": { "branch_max_length": 25, "fetch_status": true, "fetch_upstream_icon": true, "github_icon": "\uf7a3" } }, { "type": "root", "style": "powerline", "powerline_symbol": "\ue0b0", "foreground": "p:white", "background": "p:yellow", "template": " \uf0e7 " }, { "type": "exit", "style": "diamond", "foreground": "p:white", "background": "p:blue", "background_templates": [ "{{ if gt .Code 0 }}p:red{{ end }}" ], "leading_diamond": "<transparent,background>\ue0b0</>", "trailing_diamond": "\ue0b4", "template": " {{ if gt .Code 0 }}\uf00d{{ else }}\uf00c{{ end }} ", "properties": { "always_enabled": true } } ] }, { "type": "rprompt", "segments": [ { "type": "node", "style": "plain", "foreground": "p:green", "background": "transparent", "template": "\uf898 ", "properties": { "display_mode": "files", "fetch_package_manager": false, "home_enabled": false } }, { "type": "go", "style": "plain", "foreground": "p:blue", "background": "transparent", "template": "\ufcd1 ", "properties": { "fetch_version": false } }, { "type": "python", "style": "plain", "foreground": "p:yellow", "background": "transparent", "template": "\ue235 ", "properties": { "display_mode": "files", "fetch_version": false, "fetch_virtual_env": false } }, { "type": "shell", "style": "plain", "foreground": "p:white", "background": "transparent", "template": "in <p:blue><b>{{ .Name }}</b></> " }, { "type": "time", "style": "plain", "foreground": "p:white", "background": "transparent", "template": "at <p:blue><b>{{ .CurrentDate | date \"15:04:05\" }}</b></>" } ] } ], "tooltips": [ { "type": "aws", "tips": [ "aws" ], "style": "diamond", "foreground": "p:white", "background": "p:orange", "leading_diamond": "\ue0b0", "trailing_diamond": "\ue0b4", "template": " \ue7ad {{ .Profile }}{{ if .Region }}@{{ .Region }}{{ end }} ", "properties": { "display_default": true } }, { "type": "az", "tips": [ "az" ], "style": "diamond", "foreground": "p:white", "background": "p:blue", "leading_diamond": "\ue0b0", "trailing_diamond": "\ue0b4", "template": " \ufd03 {{ .Name }} ", "properties": { "display_default": true } } ], "transient_prompt": { "foreground": "p:black", "background": "transparent", "template": "<p:yellow,transparent>\ue0b6</><,p:yellow> {{ .Folder }} </><p:yellow,transparent>\ue0b0</> " }, "secondary_prompt": { "foreground": "p:black", "background": "transparent", "template": "<p:yellow,transparent>\ue0b6</><,p:yellow> > </><p:yellow,transparent>\ue0b0</> " }, "palette": { "black": "#262B44", "blue": "#4B95E9", "green": "#59C9A5", "orange": "#F07623", "red": "#D81E5B", "white": "#E0DEF4", "yellow": "#F3AE35" } }