diff options
| author | navewindre <boneyaard@gmail.com> | 2025-07-13 06:42:05 +0200 |
|---|---|---|
| committer | navewindre <boneyaard@gmail.com> | 2025-07-13 06:42:05 +0200 |
| commit | 02f14a9cb152561a5e44062aac79f3b700403b40 (patch) | |
| tree | 2db8ebda3b7f6f8777783aeb5c60018e6e1359d8 /home/.oh-my-zsh/plugins/toolbox | |
| parent | cbbdeb2f6b40a102a829f0c47cff052937231f00 (diff) | |
omz
Diffstat (limited to 'home/.oh-my-zsh/plugins/toolbox')
| -rw-r--r-- | home/.oh-my-zsh/plugins/toolbox/README.md | 29 | ||||
| -rw-r--r-- | home/.oh-my-zsh/plugins/toolbox/toolbox.plugin.zsh | 16 |
2 files changed, 45 insertions, 0 deletions
diff --git a/home/.oh-my-zsh/plugins/toolbox/README.md b/home/.oh-my-zsh/plugins/toolbox/README.md new file mode 100644 index 0000000..d957d9b --- /dev/null +++ b/home/.oh-my-zsh/plugins/toolbox/README.md @@ -0,0 +1,29 @@ +# toolbox plugin + +Plugin for [toolbox](https://containertoolbx.org), a tool to use containerized CLI environments. + +To use it, add `toolbox` to your plugins array in your `.zshrc` file: + +```zsh +plugins=(... toolbox) +``` + +## Prompt function + +This plugins adds `toolbox_prompt_info()` function. Using it in your prompt, it will show the toolbox +indicator ⬢ (if you are running in a toolbox container), and nothing if not. + +You can use it by adding `$(toolbox_prompt_info)` to your `PROMPT` or `RPROMPT` variable: + +```zsh +RPROMPT='$(toolbox_prompt_info)' +``` + +In the same way, it adds `toolbox_prompt_name()`, showing the name of the containerized environment. + +## Aliases + +| Alias | Command | Description | +| ----- | --------------- | ------------------------------------ | +| tbe | `toolbox enter` | Enters the toolbox environment | +| tbr | `toolbox run` | Run a command in an existing toolbox | diff --git a/home/.oh-my-zsh/plugins/toolbox/toolbox.plugin.zsh b/home/.oh-my-zsh/plugins/toolbox/toolbox.plugin.zsh new file mode 100644 index 0000000..efe3836 --- /dev/null +++ b/home/.oh-my-zsh/plugins/toolbox/toolbox.plugin.zsh @@ -0,0 +1,16 @@ +function toolbox_prompt_info() { + [[ -f /run/.toolboxenv ]] && echo "⬢" +} + +function toolbox_prompt_name() { + [[ -f /run/.containerenv ]] || return + + # This command reads the /run/.containerenv file line by line and extracts the + # container name from it by looking for the `name="..."` line, and uses -F\" to + # split the line by double quotes. Then all % characters are replaced with %% + # to escape them for the prompt. + awk -F\" '/name/ { gsub(/%/, "%%", $2); print $2 }' /run/.containerenv +} + +alias tbe="toolbox enter" +alias tbr="toolbox run" |
