From 9a620040942aeb840e317cb26820b80e442597b1 Mon Sep 17 00:00:00 2001 From: Gerem66 Date: Fri, 2 May 2025 21:41:31 -0400 Subject: [PATCH] feat(toolbox): add hostname customization for toolbox plugin --- plugins/toolbox/README.md | 10 ++++++++++ plugins/toolbox/toolbox.plugin.zsh | 14 ++++++++++++++ 2 files changed, 24 insertions(+) diff --git a/plugins/toolbox/README.md b/plugins/toolbox/README.md index d957d9bc4..f1985d4bd 100644 --- a/plugins/toolbox/README.md +++ b/plugins/toolbox/README.md @@ -21,6 +21,16 @@ RPROMPT='$(toolbox_prompt_info)' In the same way, it adds `toolbox_prompt_name()`, showing the name of the containerized environment. +## Hostname customization + +This plugin automatically modifies the `HOST` variable when inside a toolbox container. This enables +prompt formats using `%m` to display the toolbox name with the format `toolbx-{name}` instead of just +the regular hostname. + +For example, if you're in a toolbox named "dev", your prompt will show `toolbx-dev` instead of just `toolbx` wherever `%m` is used. + +This functionality is enabled by default when loading the plugin and doesn't require any additional configuration. + ## Aliases | Alias | Command | Description | diff --git a/plugins/toolbox/toolbox.plugin.zsh b/plugins/toolbox/toolbox.plugin.zsh index efe3836f7..4d76c0a01 100644 --- a/plugins/toolbox/toolbox.plugin.zsh +++ b/plugins/toolbox/toolbox.plugin.zsh @@ -12,5 +12,19 @@ function toolbox_prompt_name() { awk -F\" '/name/ { gsub(/%/, "%%", $2); print $2 }' /run/.containerenv } +function toolbox_prompt() { + if [[ -f /run/.containerenv ]]; then + local toolbox_name=$(toolbox_prompt_name) + if [[ -n "$toolbox_name" ]]; then + # Modify the HOST variable to display toolbox name in the prompt + # This ensures that '%m' in prompt formats shows "toolbx-{name}" instead of just "toolbx" + HOST="toolbx-$toolbox_name" + fi + fi +} + +# Modify prompt to include toolbox name when inside a toolbox container +toolbox_prompt + alias tbe="toolbox enter" alias tbr="toolbox run"