Repository: JanDeDobbeleer/oh-my-posh
Pull request #2114 (2022-04-20 17:17:10)

feat(shell): add version
### Prerequisites

- [x] I have read and understood the `CONTRIBUTING` guide
- [x] The commit message follows the [conventional commits][cc] guidelines
- [x] Tests for the changes have been added (for bug fixes/features)
- [x] Docs have been added / updated (for bug fixes/features)

### Description

- docs: move sections into folders
- feat(shell): add version


<!---

Tips:

If you're not comfortable with working with Git, we're working a guide (https://ohmyposh.dev/docs/contributing_git) to help you out.
Oh My Posh advises GitKraken (https://www.gitkraken.com/invite/nQmDPR9D) as your preferred cross platform Git GUI power tool.

-->

[cc]: https://www.conventionalcommits.org/en/v1.0.0/#summary



Patch:
diff --git a/docs/blog/2022-03-27-whats-new-2.mdx b/docs/blog/2022-03-27-whats-new-2.mdx
index 7c52e499..777ff4ac 100644
--- a/docs/blog/2022-03-27-whats-new-2.mdx
+++ b/docs/blog/2022-03-27-whats-new-2.mdx
@@ -141,8 +141,8 @@ _Keep that prompt posh everyone! _
 
 [blog-1]: /blog/whats-new-1
 [fish]: https://fishshell.com/
-[right]: /docs/config-block#type
-[transient]: /docs/config-transient
-[tooltips]: /docs/config-tooltips
-[color-templates]: /docs/config-colors#color-templates
+[right]: /docs/configuration/block#type
+[transient]: /docs/configuration/transient
+[tooltips]: /docs/configuration/tooltips
+[color-templates]: /docs/configuration/colors#color-templates
 [go1.18]: https://tip.golang.org/doc/go1.18
diff --git a/docs/docs/config-block.md b/docs/docs/configuration/block.md
similarity index 94%
rename from docs/docs/config-block.md
rename to docs/docs/configuration/block.md
index ee18fcb3..202ea855 100644
--- a/docs/docs/config-block.md
+++ b/docs/docs/configuration/block.md
@@ -1,5 +1,5 @@
 ---
-id: config-block
+id: block
 title: Block
 sidebar_label: Block
 ---
@@ -59,4 +59,4 @@ to be repeated to this property. Add this property to the _right_ aligned block.
 
 Array of one or more segments.
 
-[color-overrides]: /docs/config-colors#color-overrides
+[color-overrides]: /docs/configuration/colors#color-overrides
diff --git a/docs/docs/config-colors.md b/docs/docs/configuration/colors.md
similarity index 98%
rename from docs/docs/config-colors.md
rename to docs/docs/configuration/colors.md
index 6e40e02f..42ec9249 100644
--- a/docs/docs/config-colors.md
+++ b/docs/docs/configuration/colors.md
@@ -1,5 +1,5 @@
 ---
-id: config-colors
+id: colors
 title: Colors
 sidebar_label: Colors
 ---
@@ -190,7 +190,7 @@ For example, `p:foreground` and `p:background` will be correctly set to "#CAF0F8
 
 [hexcolors]: https://htmlcolorcodes.com/color-chart/material-design-color-chart/
 [ansicolors]: https://htmlcolorcodes.com/color-chart/material-design-color-chart/
-[git]: /docs/segment-git
-[battery]: /docs/segment-battery
-[template-properties]: /docs/config-templates#global-properties
+[git]: /docs/segments/git
+[battery]: /docs/segments/battery
+[template-properties]: /docs/configuration/templates#global-properties
 [aws]: /docs/aws
diff --git a/docs/docs/config-debug-prompt.md b/docs/docs/configuration/debug-prompt.md
similarity index 89%
rename from docs/docs/config-debug-prompt.md
rename to docs/docs/configuration/debug-prompt.md
index 16efb042..fd34f822 100644
--- a/docs/docs/config-debug-prompt.md
+++ b/docs/docs/configuration/debug-prompt.md
@@ -1,5 +1,5 @@
 ---
-id: config-debug-prompt
+id: debug-prompt
 title: Debug prompt
 sidebar_label: Debug prompt
 ---
@@ -53,7 +53,7 @@ properties below - defaults to `[DBG]: `
 
 [go-text-template]: https://golang.org/pkg/text/template/
 [sprig]: https://masterminds.github.io/sprig/
-[console-title]: /docs/config-title#console-title-template
-[templates]: /docs/config-templates
-[colors]: /docs/config-colors
-[color-templates]: /docs/config-colors#color-templates
+[console-title]: /docs/configuration/title#console-title-template
+[templates]: /docs/configuration/templates
+[colors]: /docs/configuration/colors
+[color-templates]: /docs/configuration/colors#color-templates
diff --git a/docs/docs/config-example.md b/docs/docs/configuration/example.md
similarity index 99%
rename from docs/docs/config-example.md
rename to docs/docs/configuration/example.md
index 9f13dc8c..d42a7910 100644
--- a/docs/docs/config-example.md
+++ b/docs/docs/configuration/example.md
@@ -1,5 +1,5 @@
 ---
-id: config-sample
+id: sample
 title: Sample
 sidebar_label: Sample
 ---
diff --git a/docs/docs/config-fonts.md b/docs/docs/configuration/fonts.md
similarity index 96%
rename from docs/docs/config-fonts.md
rename to docs/docs/configuration/fonts.md
index 43f07d07..dd17bc03 100644
--- a/docs/docs/config-fonts.md
+++ b/docs/docs/configuration/fonts.md
@@ -1,5 +1,5 @@
 ---
-id: config-fonts
+id: fonts
 title: Fonts
 sidebar_label: Fonts
 ---
@@ -47,4 +47,4 @@ The `minimal` themes do not make use of Nerd Font icons.
 [meslo]: https://github.com/ryanoasis/nerd-fonts/releases/download/v2.1.0/Meslo.zip
 [themes]: https://github.com/JanDeDobbeleer/oh-my-posh/tree/main/themes
 [font-thread]: https://github.com/JanDeDobbeleer/oh-my-posh/issues/145#issuecomment-730162622
-[configuration]: /docs/config-overview
+[configuration]: /docs/configuration/overview
diff --git a/docs/docs/config-line-error.md b/docs/docs/configuration/line-error.md
similarity index 95%
rename from docs/docs/config-line-error.md
rename to docs/docs/configuration/line-error.md
index 257d3d49..7cd91a2c 100644
--- a/docs/docs/config-line-error.md
+++ b/docs/docs/configuration/line-error.md
@@ -1,5 +1,5 @@
 ---
-id: config-line-error
+id: line-error
 title: Line error
 sidebar_label: Line error
 ---
@@ -81,6 +81,6 @@ Restart your shell or reload your `$PROFILE` using `. $PROFILE` for the changes
 
 [go-text-template]: https://golang.org/pkg/text/template/
 [sprig]: https://masterminds.github.io/sprig/
-[console-title]: /docs/config-title#console-title-template
+[console-title]: /docs/configuration/title#console-title-template
 [psreadline]: https://github.com/PowerShell/PSReadLine
-[templates]: /docs/config-templates
+[templates]: /docs/configuration/templates
diff --git a/docs/docs/config-overview.md b/docs/docs/configuration/overview.md
similarity index 98%
rename from docs/docs/config-overview.md
rename to docs/docs/configuration/overview.md
index 71f481a4..30cbaf69 100644
--- a/docs/docs/config-overview.md
+++ b/docs/docs/configuration/overview.md
@@ -1,5 +1,5 @@
 ---
-id: config-overview
+id: overview
 title: General
 sidebar_label: General
 ---
@@ -71,6 +71,6 @@ For example, the following is a valid `--config` flag:
 you notice black elements in Windows Terminal or the Visual Studio Code integrated terminal
 
 [releases]: https://github.com/JanDeDobbeleer/oh-my-posh/releases/latest
-[font]: /docs/config-fonts
+[font]: /docs/configuration/fonts
 [schema]: https://github.com/JanDeDobbeleer/oh-my-posh/blob/main/themes/schema.json
 [themes]: https://github.com/JanDeDobbeleer/oh-my-posh/tree/main/themes
diff --git a/docs/docs/config-secondary-prompt.md b/docs/docs/configuration/secondary-prompt.md
similarity index 89%
rename from docs/docs/config-secondary-prompt.md
rename to docs/docs/configuration/secondary-prompt.md
index 032f2a41..fb746690 100644
--- a/docs/docs/config-secondary-prompt.md
+++ b/docs/docs/configuration/secondary-prompt.md
@@ -1,5 +1,5 @@
 ---
-id: config-secondary-prompt
+id: secondary-prompt
 title: Secondary prompt
 sidebar_label: Secondary prompt
 ---
@@ -47,6 +47,6 @@ properties below - defaults to `> `
 
 [go-text-template]: https://golang.org/pkg/text/template/
 [sprig]: https://masterminds.github.io/sprig/
-[console-title]: /docs/config-title#console-title-template
-[templates]: /docs/config-templates
-[colors]: /docs/config-colors
+[console-title]: /docs/configuration/title#console-title-template
+[templates]: /docs/configuration/templates
+[colors]: /docs/configuration/colors
diff --git a/docs/docs/config-segment.md b/docs/docs/configuration/segment.md
similarity index 97%
rename from docs/docs/config-segment.md
rename to docs/docs/configuration/segment.md
index d15b5886..d4e8253b 100644
--- a/docs/docs/config-segment.md
+++ b/docs/docs/configuration/segment.md
@@ -1,5 +1,5 @@
 ---
-id: config-segment
+id: segment
 title: Segment
 sidebar_label: Segment
 ---
@@ -160,9 +160,9 @@ This means that for user Bill, who has a user account `Bill` on Windows and `bil
 `C:\Users\Bill\Foo` or `C:\Users\Bill\foo` on Windows but only `/home/bill/Foo` on Linux.
 
 [segments]: /docs/battery
-[colors]: /docs/config-colors
+[colors]: /docs/configuration/colors
 [go-text-template]: https://golang.org/pkg/text/template/
 [sprig]: https://masterminds.github.io/sprig/
 [regex]: https://www.regular-expressions.info/tutorial.html
-[templates]: /docs/config-templates
-[color-templates]: /docs/config-colors#color-templates
+[templates]: /docs/configuration/templates
+[color-templates]: /docs/configuration/colors#color-templates
diff --git a/docs/docs/config-templates.md b/docs/docs/configuration/templates.md
similarity index 97%
rename from docs/docs/config-templates.md
rename to docs/docs/configuration/templates.md
index bb377917..672c3d22 100644
--- a/docs/docs/config-templates.md
+++ b/docs/docs/configuration/templates.md
@@ -1,5 +1,5 @@
 ---
-id: config-templates
+id: templates
 title: Templates
 sidebar_label: Templates
 ---
@@ -14,6 +14,7 @@ offers a few standard properties to work with.
 - `.PWD`: `string` - the current working directory
 - `.Folder`: `string` - the current working folder
 - `.Shell`: `string` - the current shell name
+- `.ShellVersion`: `string` - the current shell version
 - `.UserName`: `string` - the current user name
 - `.HostName`: `string` - the host name
 - `.Code`: `int` - the last exit code
diff --git a/docs/docs/config-title.md b/docs/docs/configuration/title.md
similarity index 96%
rename from docs/docs/config-title.md
rename to docs/docs/configuration/title.md
index 5113db3f..e90eae21 100644
--- a/docs/docs/config-title.md
+++ b/docs/docs/configuration/title.md
@@ -1,5 +1,5 @@
 ---
-id: config-title
+id: title
 title: Console title
 sidebar_label: Console title
 ---
@@ -36,4 +36,4 @@ To learn more about templates and their possibilities, have a look at the [templ
 
 [go-text-template]: https://golang.org/pkg/text/template/
 [sprig]: https://masterminds.github.io/sprig/
-[templates]: /docs/config-templates
+[templates]: /docs/configuration/templates
diff --git a/docs/docs/config-tooltips.mdx b/docs/docs/configuration/tooltips.mdx
similarity index 99%
rename from docs/docs/config-tooltips.mdx
rename to docs/docs/configuration/tooltips.mdx
index 03ded2e9..218bc853 100644
--- a/docs/docs/config-tooltips.mdx
+++ b/docs/docs/configuration/tooltips.mdx
@@ -1,5 +1,5 @@
 ---
-id: config-tooltips
+id: tooltips
 title: Tooltips
 sidebar_label: Tooltips
 ---
diff --git a/docs/docs/config-transient.mdx b/docs/docs/configuration/transient.mdx
similarity index 94%
rename from docs/docs/config-transient.mdx
rename to docs/docs/configuration/transient.mdx
index 1470c61a..789cc7ff 100644
--- a/docs/docs/config-transient.mdx
+++ b/docs/docs/configuration/transient.mdx
@@ -1,5 +1,5 @@
 ---
-id: config-transient
+id: transient
 title: Transient prompt
 sidebar_label: Transient prompt
 ---
@@ -133,10 +133,10 @@ Restart your shell or reload fish using `exec fish` for the changes to take effe
 </TabItem>
 </Tabs>
 
-[colors]: /docs/config-colors
+[colors]: /docs/configuration/colors
 [go-text-template]: https://golang.org/pkg/text/template/
-[console-title]: /docs/config-title#console-title-template
+[console-title]: /docs/configuration/title#console-title-template
 [sprig]: https://masterminds.github.io/sprig/
 [clink]: https://chrisant996.github.io/clink/
-[templates]: /docs/config-templates
-[color-templates]: /docs/config-colors#color-templates
+[templates]: /docs/configuration/templates
+[color-templates]: /docs/configuration/colors#color-templates
diff --git a/docs/docs/contributing-git.mdx b/docs/docs/contributing/git.mdx
similarity index 99%
rename from docs/docs/contributing-git.mdx
rename to docs/docs/contributing/git.mdx
index 6cd3ccd5..e9d85307 100644
--- a/docs/docs/contributing-git.mdx
+++ b/docs/docs/contributing/git.mdx
@@ -1,5 +1,5 @@
 ---
-id: contributing_git
+id: git
 title: Git commands for contributors
 sidebar_label: Git Commands
 ---
diff --git a/docs/docs/contributing-plastic.md b/docs/docs/contributing/plastic.md
similarity index 99%
rename from docs/docs/contributing-plastic.md
rename to docs/docs/contributing/plastic.md
index c0643da3..a884502d 100644
--- a/docs/docs/contributing-plastic.md
+++ b/docs/docs/contributing/plastic.md
@@ -1,5 +1,5 @@
 ---
-id: contributing_plastic
+id: plastic
 title: Setup for Plastic SCM testing
 sidebar_label: Plastic SCM testing
 ---
@@ -90,7 +90,7 @@ sudo apt-get install plasticscm-client-core
 To connect the client to the server and set up an account run:
 
 ```bash
-clconfigureclient 
+clconfigureclient
 ```
 
 You are asked a few questions. Choose these options:
@@ -167,7 +167,7 @@ Just in case you don't want or can't commit your local changes, there is an undo
 This will undo all local changes:
 
 ```bash
-cm status | cm undo . 
+cm status | cm undo .
 ```
 
 ### Changing, moving or deleting files
@@ -213,7 +213,7 @@ cm find labels
 ```
 
 #### Switch your local workspace to a branch
-  
+
 To switch to a branch use
 
 ```bash
diff --git a/docs/docs/contributing-segment.md b/docs/docs/contributing/segment.md
similarity index 96%
rename from docs/docs/contributing-segment.md
rename to docs/docs/contributing/segment.md
index 0f529065..4fae3afa 100644
--- a/docs/docs/contributing-segment.md
+++ b/docs/docs/contributing/segment.md
@@ -1,5 +1,5 @@
 ---
-id: contributing_segment
+id: segment
 title: Add Segment
 sidebar_label: Add Segment
 ---
@@ -85,7 +85,7 @@ go build -o $GOPATH/bin/oh-my-posh
 
 ## Add the documentation
 
-Create a new `markdown` file underneath the [`docs/docs`][docs] folder called `segment-new.md`.
+Create a new `markdown` file underneath the [`docs/docs/segments`][docs] folder called `new.md`.
 Use the following template as a guide.
 
 ````markdown
@@ -167,7 +167,7 @@ And be patient, I'm going as fast as I can 🏎
 
 [segment-go]: https://github.com/JanDeDobbeleer/oh-my-posh/blob/main/segment.go
 [themes]: https://github.com/JanDeDobbeleer/oh-my-posh/tree/main/themes
-[docs]: https://github.com/JanDeDobbeleer/oh-my-posh/tree/main/docs/docs
+[docs]: https://github.com/JanDeDobbeleer/oh-my-posh/tree/main/docs/docs/segments
 [sidebars]: https://github.com/JanDeDobbeleer/oh-my-posh/blob/main/docs/sidebars.js
 [nf-icons]: https://www.nerdfonts.com/cheat-sheet
 [tests]: https://github.com/JanDeDobbeleer/oh-my-posh/blob/main/src/segments/az_test.go
diff --git a/docs/docs/contributing-started.mdx b/docs/docs/contributing/started.mdx
similarity index 99%
rename from docs/docs/contributing-started.mdx
rename to docs/docs/contributing/started.mdx
index d3716912..e1445601 100644
--- a/docs/docs/contributing-started.mdx
+++ b/docs/docs/contributing/started.mdx
@@ -1,5 +1,5 @@
 ---
-id: contributing_started
+id: started
 title: Get Started
 sidebar_label: Get Started
 ---
diff --git a/docs/docs/faq.mdx b/docs/docs/faq.mdx
index f35a9ead..aa086d16 100644
--- a/docs/docs/faq.mdx
+++ b/docs/docs/faq.mdx
@@ -199,7 +199,7 @@ $OutputEncoding = [console]::InputEncoding = [console]::OutputEncoding = New-Obj
 [wt-glyph]: https://github.com/microsoft/terminal/issues/3546
 [wt-glyphs]: https://github.com/microsoft/terminal/issues?q=is%3Aissue+is%3Aopen+unicode+width
 [nf]: https://www.nerdfonts.com/
-[font]: /docs/config-fonts
+[font]: /docs/configuration/fonts
 [jb-icons]: https://youtrack.jetbrains.com/issue/IDEA-248010
 [upgrading]: upgrading.md
 [wt-vim]: https://github.com/microsoft/terminal/issues/3794
diff --git a/docs/docs/install-customize.mdx b/docs/docs/installation/customize.mdx
similarity index 98%
rename from docs/docs/install-customize.mdx
rename to docs/docs/installation/customize.mdx
index 01f55e02..ad1d209f 100644
--- a/docs/docs/install-customize.mdx
+++ b/docs/docs/installation/customize.mdx
@@ -149,6 +149,6 @@ oh-my-posh config export --output ~/.mytheme.omp.json
 
 
 [themes]: themes.md
-[configuration]: config-overview.md
+[configuration]: configuration/overview.md
 [default-theme]: https://github.com/JanDeDobbeleer/oh-my-posh/blob/main/themes/default.omp.json
 [jandedobbeleer]: /docs/themes#jandedobbeleer
diff --git a/docs/docs/install-homebrew.mdx b/docs/docs/installation/homebrew.mdx
similarity index 100%
rename from docs/docs/install-homebrew.mdx
rename to docs/docs/installation/homebrew.mdx
diff --git a/docs/docs/install-linux.mdx b/docs/docs/installation/linux.mdx
similarity index 92%
rename from docs/docs/install-linux.mdx
rename to docs/docs/installation/linux.mdx
index 41244940..daf9c9bf 100644
--- a/docs/docs/install-linux.mdx
+++ b/docs/docs/installation/linux.mdx
@@ -6,7 +6,7 @@ sidebar_label: 🐧 Linux
 
 import Tabs from "@theme/Tabs";
 import TabItem from "@theme/TabItem";
-import InstallHomebrew from "./install-homebrew.mdx";
+import InstallHomebrew from "./homebrew.mdx";
 
 ## Set up your terminal
 
@@ -58,10 +58,10 @@ rm ~/.poshthemes/themes.zip
 </TabItem>
 </Tabs>
 
-[fonts]: /docs/config-fonts
+[fonts]: /docs/configuration/fonts
 [scoop]: https://scoop.sh/
 [wt]: https://github.com/microsoft/terminal
 [iterm2]: https://www.iterm2.com/
 [powershell]: https://www.powershellgallery.com/packages/oh-my-posh
-[configuration]: /docs/config-overview
+[configuration]: /docs/configuration/overview
 [themes]: /docs/themes
diff --git a/docs/docs/install-macos.mdx b/docs/docs/installation/macos.mdx
similarity index 83%
rename from docs/docs/install-macos.mdx
rename to docs/docs/installation/macos.mdx
index 3f998e03..d14f7ffd 100644
--- a/docs/docs/install-macos.mdx
+++ b/docs/docs/installation/macos.mdx
@@ -6,7 +6,7 @@ sidebar_label: 🍏 macOS
 
 import Tabs from "@theme/Tabs";
 import TabItem from "@theme/TabItem";
-import InstallHomebrew from "./install-homebrew.mdx";
+import InstallHomebrew from "./homebrew.mdx";
 
 ## Set up your terminal
 
@@ -21,9 +21,9 @@ To display all icons, we recommend the use of a [Nerd Font][fonts].
 
 <InstallHomebrew />
 
-[fonts]: /docs/config-fonts
+[fonts]: /docs/configuration/fonts
 [scoop]: https://scoop.sh/
 [wt]: https://github.com/microsoft/terminal
 [iterm2]: https://www.iterm2.com/
 [powershell]: https://www.powershellgallery.com/packages/oh-my-posh
-[configuration]: /docs/config-overview
+[configuration]: /docs/configuration/overview
diff --git a/docs/docs/install-prompt.mdx b/docs/docs/installation/prompt.mdx
similarity index 98%
rename from docs/docs/install-prompt.mdx
rename to docs/docs/installation/prompt.mdx
index 83ec5ed5..af2291fa 100644
--- a/docs/docs/install-prompt.mdx
+++ b/docs/docs/installation/prompt.mdx
@@ -150,7 +150,7 @@ exec fish
 Oh My Posh requires Nushell >= 0.60.0
 :::
 
-Edit `$nu.config-path` and add the following lines at the bottom.
+Edit `$nu.configuration/path` and add the following lines at the bottom.
 
 ```bash
 oh-my-posh init nu
diff --git a/docs/docs/install-windows.mdx b/docs/docs/installation/windows.mdx
similarity index 99%
rename from docs/docs/install-windows.mdx
rename to docs/docs/installation/windows.mdx
index 846c0f7e..a6ae5496 100644
--- a/docs/docs/install-windows.mdx
+++ b/docs/docs/installation/windows.mdx
@@ -173,7 +173,7 @@ when setting the prompt using the `--config` flag.
 </TabItem>
 </Tabs>
 
-[fonts]: /docs/config-fonts
+[fonts]: /docs/configuration/fonts
 [scoop]: https://scoop.sh/
 [wt]: https://github.com/microsoft/terminal
 [powershell]: https://www.powershellgallery.com/packages/oh-my-posh
diff --git a/docs/docs/introduction.md b/docs/docs/introduction.md
index 45496b21..e33ac7ed 100644
--- a/docs/docs/introduction.md
+++ b/docs/docs/introduction.md
@@ -48,7 +48,7 @@ installation guide to get started right away!
 
 [omp]: https://github.com/JanDeDobbeleer/oh-my-posh2
 [omz]: https://github.com/ohmyzsh/ohmyzsh
-[block]: /docs/config-overview#block
-[segment]: /docs/config-overview#segment
+[block]: /docs/configuration/overview#block
+[segment]: /docs/configuration/overview#segment
 [themes]: https://github.com/JanDeDobbeleer/oh-my-posh/tree/main/themes
 [omp-themes]: https://github.com/JanDeDobbeleer/oh-my-posh/tree/master/Themes
diff --git a/docs/docs/segment-angular.md b/docs/docs/segments/angular.md
similarity index 96%
rename from docs/docs/segment-angular.md
rename to docs/docs/segments/angular.md
index 8ea3130e..49c0b43c 100644
--- a/docs/docs/segment-angular.md
+++ b/docs/docs/segments/angular.md
@@ -48,4 +48,4 @@ Display the currently active Angular CLI version.
 - `.BuildMetadata`: `string` - build metadata
 - `.Error`: `string` - when fetching the version string errors
 
-[templates]: /docs/config-templates
+[templates]: /docs/configuration/templates
diff --git a/docs/docs/segment-aws.md b/docs/docs/segments/aws.md
similarity index 94%
rename from docs/docs/segment-aws.md
rename to docs/docs/segments/aws.md
index 0df91516..6944a462 100644
--- a/docs/docs/segment-aws.md
+++ b/docs/docs/segments/aws.md
@@ -41,4 +41,4 @@ to `true`
 - `.Profile`: `string` - the currently active profile
 - `.Region`: `string` - the currently active region
 
-[templates]: /docs/config-templates
+[templates]: /docs/configuration/templates
diff --git a/docs/docs/segment-az.md b/docs/docs/segments/az.md
similarity index 96%
rename from docs/docs/segment-az.md
rename to docs/docs/segments/az.md
index 77ce338c..6e8d407d 100644
--- a/docs/docs/segment-az.md
+++ b/docs/docs/segments/az.md
@@ -51,4 +51,4 @@ Display the currently active Azure subscription information.
 - `.User.Type`: `string` - user type
 - `.Origin`: `string` - where we received the information from, can be `CLI` or `PWSH`
 
-[templates]: /docs/config-templates
+[templates]: /docs/configuration/templates
diff --git a/docs/docs/segment-azfunc.md b/docs/docs/segments/azfunc.md
similarity index 97%
rename from docs/docs/segment-azfunc.md
rename to docs/docs/segments/azfunc.md
index 01f9a651..9c5f755b 100644
--- a/docs/docs/segment-azfunc.md
+++ b/docs/docs/segments/azfunc.md
@@ -54,4 +54,4 @@ Display the currently active Azure functions CLI version.
 - `.BuildMetadata`: `string` - build metadata
 - `.Error`: `string` - when fetching the version string errors
 
-[templates]: /docs/config-templates
+[templates]: /docs/configuration/templates
diff --git a/docs/docs/segment-battery.md b/docs/docs/segments/battery.md
similarity index 96%
rename from docs/docs/segment-battery.md
rename to docs/docs/segments/battery.md
index 43024775..4e865bf6 100644
--- a/docs/docs/segment-battery.md
+++ b/docs/docs/segments/battery.md
@@ -69,6 +69,6 @@ the same value as `Voltage`, for convenience
 - `.Error`: `string` - the error in case fetching the battery information failed
 - `.Icon`: `string` - the icon based on the battery state
 
-[colors]: /docs/config-colors
+[colors]: /docs/configuration/colors
 [battery]: https://github.com/distatus/battery/blob/master/battery.go#L78
-[templates]: /docs/config-templates
+[templates]: /docs/configuration/templates
diff --git a/docs/docs/segment-brewfather.md b/docs/docs/segments/brewfather.md
similarity index 99%
rename from docs/docs/segment-brewfather.md
rename to docs/docs/segments/brewfather.md
index 0f836677..715268a3 100644
--- a/docs/docs/segment-brewfather.md
+++ b/docs/docs/segments/brewfather.md
@@ -174,6 +174,6 @@ To display gravity as SG in XXXX format (e.g. "1020" instead of "1.020"), use th
 }
 ````
 
-[templates]: /docs/config-templates
+[templates]: /docs/configuration/templates
 [brewfather]: http://brewfather.app
 [wikipedia_gravity_page]:https://en.wikipedia.org/wiki/Brix#Specific_gravity_2
diff --git a/docs/docs/segment-cds.md b/docs/docs/segments/cds.md
similarity index 97%
rename from docs/docs/segment-cds.md
rename to docs/docs/segments/cds.md
index 6f5c97db..24e9f4d4 100644
--- a/docs/docs/segment-cds.md
+++ b/docs/docs/segments/cds.md
@@ -53,5 +53,5 @@ Display the active [CDS CLI][sap-cap-cds] version.
 - `.Error`: `string` - when fetching the version string errors
 - `.HasDependency`: `bool` - a flag if `@sap/cds` was found in `package.json`
 
-[templates]: /docs/config-templates
+[templates]: /docs/configuration/templates
 [sap-cap-cds]: https://cap.cloud.sap/docs/tools/#command-line-interface-cli
diff --git a/docs/docs/segment-cf.md b/docs/docs/segments/cf.md
similarity index 97%
rename from docs/docs/segment-cf.md
rename to docs/docs/segments/cf.md
index 66cf6873..2012efdb 100644
--- a/docs/docs/segment-cf.md
+++ b/docs/docs/segments/cf.md
@@ -51,5 +51,5 @@ Display the active [Cloud Foundry CLI][cloud-foundry] version.
 - `.BuildMetadata`: `string` - build metadata
 - `.Error`: `string` - when fetching the version string errors
 
-[templates]: /docs/config-templates
+[templates]: /docs/configuration/templates
 [cloud-foundry]: https://github.com/cloudfoundry/cli
diff --git a/docs/docs/segment-cftarget.md b/docs/docs/segments/cftarget.md
similarity index 95%
rename from docs/docs/segment-cftarget.md
rename to docs/docs/segments/cftarget.md
index 0d31ce01..4c1b7064 100644
--- a/docs/docs/segment-cftarget.md
+++ b/docs/docs/segments/cftarget.md
@@ -38,5 +38,5 @@ Display the details of the logged [Cloud Foundry endpoint][cf-target] (`cf targe
 - `.URL`: `string` - Cloud Foundry API URL
 - `.User`: `string` - logged in user
 
-[templates]: /docs/config-templates
+[templates]: /docs/configuration/templates
 [cf-target]: https://cli.cloudfoundry.org/en-US/v8/target.html
diff --git a/docs/docs/segment-command.md b/docs/docs/segments/command.md
similarity index 93%
rename from docs/docs/segment-command.md
rename to docs/docs/segments/command.md
index d9073249..4fcc2701 100644
--- a/docs/docs/segment-command.md
+++ b/docs/docs/segments/command.md
@@ -59,5 +59,5 @@ error). The `&&` functionality will join the output of the commands when success
 
 - `.Output`: `string` - the output of the command.
 
-[env]: /docs/config-templates#environment-variables
-[templates]: /docs/config-templates
+[env]: /docs/configuration/templates#environment-variables
+[templates]: /docs/configuration/templates
diff --git a/docs/docs/segment-crystal.md b/docs/docs/segments/crystal.md
similarity index 97%
rename from docs/docs/segment-crystal.md
rename to docs/docs/segments/crystal.md
index 48bbd403..344f4803 100644
--- a/docs/docs/segment-crystal.md
+++ b/docs/docs/segments/crystal.md
@@ -51,4 +51,4 @@ Display the currently active crystal version.
 - `.BuildMetadata`: `string` - build metadata
 - `.Error`: `string` - when fetching the version string errors
 
-[templates]: /docs/config-templates
+[templates]: /docs/configuration/templates
diff --git a/docs/docs/segment-dart.md b/docs/docs/segments/dart.md
similarity index 97%
rename from docs/docs/segment-dart.md
rename to docs/docs/segments/dart.md
index ebc981e7..6f132a6a 100644
--- a/docs/docs/segment-dart.md
+++ b/docs/docs/segments/dart.md
@@ -52,4 +52,4 @@ folder are present (default)
 - `.BuildMetadata`: `string` - build metadata
 - `.Error`: `string` - when fetching the version string errors
 
-[templates]: /docs/config-templates
+[templates]: /docs/configuration/templates
diff --git a/docs/docs/segment-dotnet.md b/docs/docs/segments/dotnet.md
similarity index 97%
rename from docs/docs/segment-dotnet.md
rename to docs/docs/segments/dotnet.md
index a83aeec7..611f89ad 100644
--- a/docs/docs/segment-dotnet.md
+++ b/docs/docs/segments/dotnet.md
@@ -54,4 +54,4 @@ Display the currently active .NET SDK version.
 - `.BuildMetadata`: `string` - build metadata
 - `.Error`: `string` - when fetching the version string errors
 
-[templates]: /docs/config-templates
+[templates]: /docs/configuration/templates
diff --git a/docs/docs/segment-executiontime.md b/docs/docs/segments/executiontime.md
similarity index 97%
rename from docs/docs/segment-executiontime.md
rename to docs/docs/segments/executiontime.md
index 5d491d21..3d9dc80f 100644
--- a/docs/docs/segment-executiontime.md
+++ b/docs/docs/segments/executiontime.md
@@ -64,4 +64,4 @@ Style specifies the format in which the time will be displayed. The table below
 - `.Ms`: `number` - the execution time in milliseconds
 - `.FormattedMs`: `string` - the formatted value based on the `style` above.
 
-[templates]: /docs/config-templates
+[templates]: /docs/configuration/templates
diff --git a/docs/docs/segment-exit.md b/docs/docs/segments/exit.md
similarity index 92%
rename from docs/docs/segment-exit.md
rename to docs/docs/segments/exit.md
index 9924feae..8f07b618 100644
--- a/docs/docs/segment-exit.md
+++ b/docs/docs/segments/exit.md
@@ -32,7 +32,7 @@ Displays the last exit code or that the last command failed based on the configu
 
 - always_enabled: `boolean` - always show the status - defaults to `false`
 
-[colors]: /docs/config-colors
+[colors]: /docs/configuration/colors
 
 ## Template ([info][templates])
 
@@ -49,4 +49,4 @@ Displays the last exit code or that the last command failed based on the configu
 - `.Code`: `number` - the last known exit code
 - `.Meaning`: `string` - the textual meaning linked to exit code (if applicable, otherwise identical to `.Code`)
 
-[templates]: /docs/config-templates
+[templates]: /docs/configuration/templates
diff --git a/docs/docs/segment-git.mdx b/docs/docs/segments/git.mdx
similarity index 98%
rename from docs/docs/segment-git.mdx
rename to docs/docs/segments/git.mdx
index 5241d7c1..361e7de8 100644
--- a/docs/docs/segment-git.mdx
+++ b/docs/docs/segments/git.mdx
@@ -129,5 +129,5 @@ You can set the following properties to `true` to enable fetching additional inf
 - `.String`: `string` - a string representation of the changes above
 
 [poshgit]: /docs/poshgit
-[templates]: /docs/config-templates
-[hyperlinks]: /docs/config-templates#helper-functions
+[templates]: /docs/configuration/templates
+[hyperlinks]: /docs/configuration/templates#helper-functions
diff --git a/docs/docs/segment-golang.md b/docs/docs/segments/golang.md
similarity index 97%
rename from docs/docs/segment-golang.md
rename to docs/docs/segments/golang.md
index 5d935d56..157bcf7c 100644
--- a/docs/docs/segment-golang.md
+++ b/docs/docs/segments/golang.md
@@ -52,4 +52,4 @@ Display the currently active golang version.
 - `.BuildMetadata`: `string` - build metadata
 - `.Error`: `string` - when fetching the version string errors
 
-[templates]: /docs/config-templates
+[templates]: /docs/configuration/templates
diff --git a/docs/docs/segment-haskell.md b/docs/docs/segments/haskell.md
similarity index 97%
rename from docs/docs/segment-haskell.md
rename to docs/docs/segments/haskell.md
index d57bd91b..dd930464 100644
--- a/docs/docs/segment-haskell.md
+++ b/docs/docs/segments/haskell.md
@@ -58,4 +58,4 @@ Using stack ghc will decrease performance.
 - `.Error`: `string` - when fetching the version string errors
 - `.StackGhc`: `boolean` - `true` if stack ghc was used, otherwise `false`
 
-[templates]: /docs/config-templates
+[templates]: /docs/configuration/templates
diff --git a/docs/docs/segment-ipify.md b/docs/docs/segments/ipify.md
similarity index 95%
rename from docs/docs/segment-ipify.md
rename to docs/docs/segments/ipify.md
index 8299b4cc..cc79c3e7 100644
--- a/docs/docs/segment-ipify.md
+++ b/docs/docs/segments/ipify.md
@@ -48,5 +48,5 @@ sidebar_label: Ipify
 
 - .IP: `string` - Your external IP address
 
-[templates]: /docs/config-templates
+[templates]: /docs/configuration/templates
 [ipify]: https://www.ipify.org/
diff --git a/docs/docs/segment-java.md b/docs/docs/segments/java.md
similarity index 97%
rename from docs/docs/segment-java.md
rename to docs/docs/segments/java.md
index 0fdcd9a9..d1700f29 100644
--- a/docs/docs/segment-java.md
+++ b/docs/docs/segments/java.md
@@ -64,4 +64,4 @@ Display the currently active java version.
 - `.BuildMetadata`: `string` - build metadata
 - `.Error`: `string` - when fetching the version string errors
 
-[templates]: /docs/config-templates
+[templates]: /docs/configuration/templates
diff --git a/docs/docs/segment-julia.md b/docs/docs/segments/julia.md
similarity index 96%
rename from docs/docs/segment-julia.md
rename to docs/docs/segments/julia.md
index 516a3659..623adeef 100644
--- a/docs/docs/segment-julia.md
+++ b/docs/docs/segments/julia.md
@@ -51,4 +51,4 @@ Display the currently active julia version.
 - `.BuildMetadata`: `string` - build metadata
 - `.Error`: `string` - when fetching the version string errors
 
-[templates]: /docs/config-templates
+[templates]: /docs/configuration/templates
diff --git a/docs/docs/segment-kotlin.md b/docs/docs/segments/kotlin.md
similarity index 97%
rename from docs/docs/segment-kotlin.md
rename to docs/docs/segments/kotlin.md
index 5a66923a..bf68d1e4 100644
--- a/docs/docs/segment-kotlin.md
+++ b/docs/docs/segments/kotlin.md
@@ -51,5 +51,5 @@ Display the currently active [Kotlin][kotlin] version.
 - `.BuildMetadata`: `string` - build metadata
 - `.Error`: `string` - when fetching the version string errors
 
-[templates]: /docs/config-templates
+[templates]: /docs/configuration/templates
 [kotlin]: https://kotlinlang.org/
diff --git a/docs/docs/segment-kubectl.md b/docs/docs/segments/kubectl.md
similarity index 96%
rename from docs/docs/segment-kubectl.md
rename to docs/docs/segments/kubectl.md
index 718450e0..f6454bdc 100644
--- a/docs/docs/segment-kubectl.md
+++ b/docs/docs/segments/kubectl.md
@@ -51,4 +51,4 @@ It is common for the Kubernetes "default" namespace to be used when no namespace
 
 `{{.Context}} :: {{if .Namespace}}{{.Namespace}}{{else}}default{{end}}`
 
-[templates]: /docs/config-templates
+[templates]: /docs/configuration/templates
diff --git a/docs/docs/segment-nbgv.mdx b/docs/docs/segments/nbgv.mdx
similarity index 96%
rename from docs/docs/segment-nbgv.mdx
rename to docs/docs/segments/nbgv.mdx
index cb3aa759..b85fd344 100644
--- a/docs/docs/segment-nbgv.mdx
+++ b/docs/docs/segments/nbgv.mdx
@@ -46,4 +46,4 @@ The Nerdbank.GitVersioning CLI can be a bit slow causing the prompt to feel slow
 - `.SimpleVersion`: `string` - the current simple version
 
 [nbgv]: https://github.com/dotnet/Nerdbank.GitVersioning
-[templates]: /docs/config-templates
+[templates]: /docs/configuration/templates
diff --git a/docs/docs/segment-nightscout.md b/docs/docs/segments/nightscout.md
similarity index 98%
rename from docs/docs/segment-nightscout.md
rename to docs/docs/segments/nightscout.md
index 872e2f7d..303bb64c 100644
--- a/docs/docs/segment-nightscout.md
+++ b/docs/docs/segments/nightscout.md
@@ -104,5 +104,5 @@ Or display in mmol/l (instead of the default mg/dl) with the following template:
 - .TrendIcon: `string` - By default, this will be something like ↑↑ or ↘ etc but you can
   override them with any glpyh as seen above
 
-[templates]: /docs/config-templates
+[templates]: /docs/configuration/templates
 [nightscout]: http://www.nightscout.info/
diff --git a/docs/docs/segment-node.md b/docs/docs/segments/node.md
similarity index 97%
rename from docs/docs/segment-node.md
rename to docs/docs/segments/node.md
index 4f598f9d..123fea86 100644
--- a/docs/docs/segment-node.md
+++ b/docs/docs/segments/node.md
@@ -55,4 +55,4 @@ Display the currently active node version.
 - `.PackageManagerIcon`: `string` - the Yarn on NPM icon when setting `fetch_package_manager` to `true`
 - `.Mismatch`: `boolean` - if the version in `.nvmrc` matches with `.Full`
 
-[templates]: /docs/config-templates
+[templates]: /docs/configuration/templates
diff --git a/docs/docs/segment-npm.md b/docs/docs/segments/npm.md
similarity index 93%
rename from docs/docs/segment-npm.md
rename to docs/docs/segments/npm.md
index d35979ef..499385f9 100644
--- a/docs/docs/segment-npm.md
+++ b/docs/docs/segments/npm.md
@@ -39,4 +39,4 @@ Display the currently active npm version.
 - `.Patch`: `string` - patch number
 - `.Error`: `string` - when fetching the version string errors
 
-[templates]: /docs/config-templates
+[templates]: /docs/configuration/templates
diff --git a/docs/docs/segment-os.md b/docs/docs/segments/os.md
similarity index 98%
rename from docs/docs/segment-os.md
rename to docs/docs/segments/os.md
index bc19e5dc..3b75f37e 100644
--- a/docs/docs/segment-os.md
+++ b/docs/docs/segments/os.md
@@ -63,4 +63,4 @@ Display OS specific info - defaults to Icon.
 
 - `.Icon`: `string` - the OS icon
 
-[templates]: /docs/config-templates
+[templates]: /docs/configuration/templates
diff --git a/docs/docs/segment-owm.md b/docs/docs/segments/owm.md
similarity index 97%
rename from docs/docs/segment-owm.md
rename to docs/docs/segments/owm.md
index e6e49ccb..4008fabd 100644
--- a/docs/docs/segment-owm.md
+++ b/docs/docs/segments/owm.md
@@ -64,4 +64,4 @@ properties below - defaults to `{{.Weather}} ({{.Temperature}}{{.UnitIcon}})`
 - `.UnitIcon`: `string` - the current unit icon(based on units property)
 - `.URL`: `string` - the url of the current api call
 
-[templates]: /docs/config-templates
+[templates]: /docs/configuration/templates
diff --git a/docs/docs/segment-path.md b/docs/docs/segments/path.md
similarity index 99%
rename from docs/docs/segment-path.md
rename to docs/docs/segments/path.md
index a3c30904..33bb3633 100644
--- a/docs/docs/segment-path.md
+++ b/docs/docs/segments/path.md
@@ -148,4 +148,4 @@ folders at the same level, so if `C:\projectA\dev` and `C:\projectB\dev` exist,
 - `.Path`: `string` - the current directory (based on the `style` property)
 - `.StackCount`: `int` - the stack count
 
-[templates]: /docs/config-templates
+[templates]: /docs/configuration/templates
diff --git a/docs/docs/segment-php.md b/docs/docs/segments/php.md
similarity index 97%
rename from docs/docs/segment-php.md
rename to docs/docs/segments/php.md
index ca521120..9feaca12 100644
--- a/docs/docs/segment-php.md
+++ b/docs/docs/segments/php.md
@@ -52,4 +52,4 @@ files are present (default)
 - `.BuildMetadata`: `string` - build metadata
 - `.Error`: `string` - when fetching the version string errors
 
-[templates]: /docs/config-templates
+[templates]: /docs/configuration/templates
diff --git a/docs/docs/segment-plastic.md b/docs/docs/segments/plastic.md
similarity index 98%
rename from docs/docs/segment-plastic.md
rename to docs/docs/segments/plastic.md
index 056b9df8..16dba1ac 100644
--- a/docs/docs/segment-plastic.md
+++ b/docs/docs/segments/plastic.md
@@ -99,5 +99,5 @@ You can set the following property to `true` to enable fetching additional infor
 - `.Changed`: `boolean` - if the status contains changes or not
 - `.String`: `string` - a string representation of the changes above
 
-[templates]: /docs/config-templates
+[templates]: /docs/configuration/templates
 [fa-issue]: https://github.com/FortAwesome/Font-Awesome/issues/18504
diff --git a/docs/docs/segment-posh-git.mdx b/docs/docs/segments/posh-git.mdx
similarity index 93%
rename from docs/docs/segment-posh-git.mdx
rename to docs/docs/segments/posh-git.mdx
index 8099feae..91c3819c 100644
--- a/docs/docs/segment-posh-git.mdx
+++ b/docs/docs/segments/posh-git.mdx
@@ -39,4 +39,4 @@ This segment only works within Powershell and requires the posh-git module to be
 - `.Status`: `string` - the status reported from posh-git
 
 [posh-git]: https://github.com/dahlbyk/posh-git
-[templates]: /docs/config-templates
+[templates]: /docs/configuration/templates
diff --git a/docs/docs/segment-project.md b/docs/docs/segments/project.md
similarity index 95%
rename from docs/docs/segment-project.md
rename to docs/docs/segments/project.md
index 78095ff9..4864000a 100644
--- a/docs/docs/segment-project.md
+++ b/docs/docs/segments/project.md
@@ -44,4 +44,4 @@ Supports:
 - `.Version`: `string` - The version of your project
 - `.Name`: `string` - The name of your project
 
-[templates]: /docs/config-templates
+[templates]: /docs/configuration/templates
diff --git a/docs/docs/segment-python.md b/docs/docs/segments/python.md
similarity index 98%
rename from docs/docs/segment-python.md
rename to docs/docs/segments/python.md
index 6cdfdc62..fe79e9a1 100644
--- a/docs/docs/segment-python.md
+++ b/docs/docs/segments/python.md
@@ -60,4 +60,4 @@ or not - defaults to `true`
 - `.BuildMetadata`: `string` - build metadata
 - `.Error`: `string` - when fetching the version string errors
 
-[templates]: /docs/config-templates
+[templates]: /docs/configuration/templates
diff --git a/docs/docs/segment-r.md b/docs/docs/segments/r.md
similarity index 97%
rename from docs/docs/segment-r.md
rename to docs/docs/segments/r.md
index aa821a5a..299db673 100644
--- a/docs/docs/segment-r.md
+++ b/docs/docs/segments/r.md
@@ -52,5 +52,5 @@ Display the currently active [R][r-homepage] version.
 - `.BuildMetadata`: `string` - build metadata
 - `.Error`: `string` - when fetching the version string errors
 
-[templates]: /docs/config-templates
+[templates]: /docs/configuration/templates
 [r-homepage]: https://www.r-project.org/
diff --git a/docs/docs/segment-root.md b/docs/docs/segments/root.md
similarity index 90%
rename from docs/docs/segment-root.md
rename to docs/docs/segments/root.md
index 17f6a0d2..a9f87d5f 100644
--- a/docs/docs/segment-root.md
+++ b/docs/docs/segments/root.md
@@ -31,4 +31,4 @@ Show when the current user is root or when in an elevated shell (Windows).
 
 :::
 
-[templates]: /docs/config-templates
+[templates]: /docs/configuration/templates
diff --git a/docs/docs/segment-ruby.md b/docs/docs/segments/ruby.md
similarity index 97%
rename from docs/docs/segment-ruby.md
rename to docs/docs/segments/ruby.md
index f14b6610..d5d19907 100644
--- a/docs/docs/segment-ruby.md
+++ b/docs/docs/segments/ruby.md
@@ -51,4 +51,4 @@ Display the currently active ruby version.
 - `.BuildMetadata`: `string` - build metadata
 - `.Error`: `string` - when fetching the version string errors
 
-[templates]: /docs/config-templates
+[templates]: /docs/configuration/templates
diff --git a/docs/docs/segment-rust.md b/docs/docs/segments/rust.md
similarity index 97%
rename from docs/docs/segment-rust.md
rename to docs/docs/segments/rust.md
index 666af615..2eac7761 100644
--- a/docs/docs/segment-rust.md
+++ b/docs/docs/segments/rust.md
@@ -51,4 +51,4 @@ Display the currently active rust version.
 - `.BuildMetadata`: `string` - build metadata
 - `.Error`: `string` - when fetching the version string errors
 
-[templates]: /docs/config-templates
+[templates]: /docs/configuration/templates
diff --git a/docs/docs/segment-session.md b/docs/docs/segments/session.md
similarity index 94%
rename from docs/docs/segment-session.md
rename to docs/docs/segments/session.md
index e743e797..57ce0172 100644
--- a/docs/docs/segment-session.md
+++ b/docs/docs/segments/session.md
@@ -39,4 +39,4 @@ Show the current user and host name.
 - `.SSHSession`: `boolean` - active SSH session or not
 - `.Root`: `boolean` - are you a root/admin user or not
 
-[templates]: /docs/config-templates
+[templates]: /docs/configuration/templates
diff --git a/docs/docs/segment-shell.md b/docs/docs/segments/shell.md
similarity index 88%
rename from docs/docs/segment-shell.md
rename to docs/docs/segments/shell.md
index 01f71211..48110295 100644
--- a/docs/docs/segment-shell.md
+++ b/docs/docs/segments/shell.md
@@ -42,5 +42,6 @@ Show the current shell name (ZSH, powershell, bash, ...).
 ### Properties
 
 - `.Name`: `string` - the shell name
+- `.Version`: `string` - the shell version
 
-[templates]: /docs/config-templates
+[templates]: /docs/configuration/templates
diff --git a/docs/docs/segment-spotify.md b/docs/docs/segments/spotify.md
similarity index 96%
rename from docs/docs/segment-spotify.md
rename to docs/docs/segments/spotify.md
index eba62220..ba6548db 100644
--- a/docs/docs/segment-spotify.md
+++ b/docs/docs/segments/spotify.md
@@ -51,4 +51,4 @@ On macOS, all states are supported (playing/paused/stopped).
 - `.Track`: `string` - current track
 - `.Icon`: `string` - icon (based on `.Status`)
 
-[templates]: /docs/config-templates
+[templates]: /docs/configuration/templates
diff --git a/docs/docs/segment-strava.mdx b/docs/docs/segments/strava.mdx
similarity index 98%
rename from docs/docs/segment-strava.mdx
rename to docs/docs/segments/strava.mdx
index ba89dbc0..cb95057f 100644
--- a/docs/docs/segment-strava.mdx
+++ b/docs/docs/segments/strava.mdx
@@ -101,6 +101,6 @@ The properties below are available for use in your template
 
 Now, go out and have a fun ride or run!
 
-[templates]: /docs/config-templates
+[templates]: /docs/configuration/templates
 [strava]: http://www.strava.com/
 [strava-connect]: https://www.strava.com/oauth/authorize?client_id=76033&response_type=code&redirect_uri=https://ohmyposh.dev/api/auth&approval_prompt=force&scope=read,activity:read
diff --git a/docs/docs/segment-swift.md b/docs/docs/segments/swift.md
similarity index 97%
rename from docs/docs/segment-swift.md
rename to docs/docs/segments/swift.md
index 68be9fcf..82d1c42d 100644
--- a/docs/docs/segment-swift.md
+++ b/docs/docs/segments/swift.md
@@ -51,5 +51,5 @@ Display the currently active [Swift][swift] version.
 - `.BuildMetadata`: `string` - build metadata
 - `.Error`: `string` - when fetching the version string errors
 
-[templates]: /docs/config-templates
+[templates]: /docs/configuration/templates
 [swift]: https://www.swift.org/
diff --git a/docs/docs/segment-sysinfo.md b/docs/docs/segments/sysinfo.md
similarity index 97%
rename from docs/docs/segment-sysinfo.md
rename to docs/docs/segments/sysinfo.md
index 16dd5544..ac3245bb 100644
--- a/docs/docs/segment-sysinfo.md
+++ b/docs/docs/segments/sysinfo.md
@@ -54,4 +54,4 @@ Display SysInfo.
 
 [cpuinfo]: https://github.com/shirou/gopsutil/blob/78065a7ce2021f6a78c8d6f586a2683ba501dcec/cpu/cpu.go#L32
 [ioinfo]: https://github.com/shirou/gopsutil/blob/e0ec1b9cda4470db704a862282a396986d7e930c/disk/disk.go#L32
-[templates]: /docs/config-templates
+[templates]: /docs/configuration/templates
diff --git a/docs/docs/segment-terraform.md b/docs/docs/segments/terraform.md
similarity index 95%
rename from docs/docs/segment-terraform.md
rename to docs/docs/segments/terraform.md
index 41541e4f..8055f5eb 100644
--- a/docs/docs/segment-terraform.md
+++ b/docs/docs/segments/terraform.md
@@ -45,4 +45,4 @@ defaults to `false`
 - `.WorkspaceName`: `string` - is the current workspace name
 - `.Version`: `string` - terraform version (set `fetch_version` to `true`)
 
-[templates]: /docs/config-templates
+[templates]: /docs/configuration/templates
diff --git a/docs/docs/segment-text.md b/docs/docs/segments/text.md
similarity index 88%
rename from docs/docs/segment-text.md
rename to docs/docs/segments/text.md
index 8dedf1a9..561b9dd9 100644
--- a/docs/docs/segment-text.md
+++ b/docs/docs/segments/text.md
@@ -31,5 +31,5 @@ Display text.
 - `.HostName`: `string` - the host name
 - `.Env.VarName`: `string` - Any environment variable where `VarName` is the environment variable name
 
-[coloring]: /docs/config-colors
-[templates]: /docs/config-templates
+[coloring]: /docs/configuration/colors
+[templates]: /docs/configuration/templates
diff --git a/docs/docs/segment-time.md b/docs/docs/segments/time.md
similarity index 97%
rename from docs/docs/segment-time.md
rename to docs/docs/segments/time.md
index ddf9fcf0..8a58eb75 100644
--- a/docs/docs/segment-time.md
+++ b/docs/docs/segments/time.md
@@ -76,5 +76,5 @@ Show the current timestamp.
 - StampMicro = "Jan _2 15:04:05.000000"
 - StampNano  = "Jan _2 15:04:05.000000000"
 
-[templates]: /docs/config-templates
+[templates]: /docs/configuration/templates
 [format]: https://yourbasic.org/golang/format-parse-string-time-date-example/
diff --git a/docs/docs/segment-ui5tooling.md b/docs/docs/segments/ui5tooling.md
similarity index 97%
rename from docs/docs/segment-ui5tooling.md
rename to docs/docs/segments/ui5tooling.md
index 619dbe5b..65cf292a 100644
--- a/docs/docs/segment-ui5tooling.md
+++ b/docs/docs/segments/ui5tooling.md
@@ -54,6 +54,6 @@ see [the documentation][ui5-version-help]).
 - `.BuildMetadata`: `string` - build metadata
 - `.Error`: `string` - when fetching the version string errors
 
-[templates]: /docs/config-templates
+[templates]: /docs/configuration/templates
 [ui5-homepage]: https://sap.github.io/ui5-tooling
 [ui5-version-help]: https://sap.github.io/ui5-tooling/pages/CLI/#ui5-versions
diff --git a/docs/docs/segment-wakatime.md b/docs/docs/segments/wakatime.md
similarity index 97%
rename from docs/docs/segment-wakatime.md
rename to docs/docs/segments/wakatime.md
index ef9d9850..44aa1bd1 100644
--- a/docs/docs/segment-wakatime.md
+++ b/docs/docs/segments/wakatime.md
@@ -60,4 +60,4 @@ works if you can curl it yourself and a result. - defaults to ``
 
 [wt]: https://wakatime.com
 [wk-summaries]: https://wakatime.com/developers#summaries
-[templates]: /docs/config-templates
+[templates]: /docs/configuration/templates
diff --git a/docs/docs/segment-wifi.md b/docs/docs/segments/wifi.md
similarity index 96%
rename from docs/docs/segment-wifi.md
rename to docs/docs/segments/wifi.md
index f8cd3ab5..3d34b9a0 100644
--- a/docs/docs/segment-wifi.md
+++ b/docs/docs/segments/wifi.md
@@ -48,4 +48,4 @@ Currently only supports Windows and WSL. Pull requests for Darwin and Linux supp
 - `.TransmitRate`: `int` - the transmit rate (Mbps)
 - `.Signal`: `int` - the signal strength (%)
 
-[templates]: /docs/config-templates
+[templates]: /docs/configuration/templates
diff --git a/docs/docs/segment-winreg.md b/docs/docs/segments/winreg.md
similarity index 96%
rename from docs/docs/segment-winreg.md
rename to docs/docs/segments/winreg.md
index bf1b0b43..5222c777 100644
--- a/docs/docs/segment-winreg.md
+++ b/docs/docs/segments/winreg.md
@@ -51,4 +51,4 @@ Supported registry key types:
 
 - .Value: `string` - The result of your query, or fallback if not found.
 
-[templates]: /docs/config-templates
+[templates]: /docs/configuration/templates
diff --git a/docs/docs/segment-ytm.md b/docs/docs/segments/ytm.md
similarity index 94%
rename from docs/docs/segment-ytm.md
rename to docs/docs/segments/ytm.md
index edc85642..5f57ef01 100644
--- a/docs/docs/segment-ytm.md
+++ b/docs/docs/segments/ytm.md
@@ -54,6 +54,6 @@ Remote Control password.
 - `.Track`: `string` - current track
 - `.Icon`: `string` - icon (based on `.Status`)
 
-[templates]: /docs/config-templates
+[templates]: /docs/configuration/templates
 
-[templates]: /docs/config-templates
+[templates]: /docs/configuration/templates
diff --git a/docs/docs/themes.md b/docs/docs/themes.md
index 114d5bcb..89d317ed 100644
--- a/docs/docs/themes.md
+++ b/docs/docs/themes.md
@@ -17,7 +17,7 @@ Once you're ready to swap to a theme, follow the steps described in [🚀 Replac
 Themes with `minimal` in their names do not require a Nerd Font. Read about [🆎Fonts][fonts] for more information.
 
 [themes]: https://github.com/JanDeDobbeleer/oh-my-posh/tree/main/themes
-[fonts]: /docs/config-fonts
+[fonts]: /docs/configuration/fonts
 [replace-you-existing-prompt]: /docs/prompt
 
 <!-- Do not change the content below, themes are rendered automatically -->
diff --git a/docs/docs/upgrading.md b/docs/docs/upgrading.md
index 523a7d9f..670dde53 100644
--- a/docs/docs/upgrading.md
+++ b/docs/docs/upgrading.md
@@ -107,5 +107,5 @@ Do not hesitate to [ask for assistance][issues] when you notice an issue or unex
 [introduction]: /docs/#concept
 [v3]: https://github.com/JanDeDobbeleer/oh-my-posh/
 [themesv3]: https://github.com/JanDeDobbeleer/oh-my-posh/tree/main/themes
-[configuration]: /docs/config-overview
+[configuration]: /docs/configuration/overview
 [issues]: https://github.com/JanDeDobbeleer/oh-my-posh/issues/new
diff --git a/docs/sidebars.js b/docs/sidebars.js
index ff29a134..0659e6cd 100644
--- a/docs/sidebars.js
+++ b/docs/sidebars.js
@@ -17,13 +17,13 @@ module.exports = {
               label: "📦 Installation",
               collapsed: false,
               items: [
-                "windows",
-                "macos",
-                "linux",
+                "installation/windows",
+                "installation/macos",
+                "installation/linux",
               ],
             },
-            "prompt",
-            "customize"
+            "installation/prompt",
+            "installation/customize"
           ],
         },
       ],
@@ -32,19 +32,19 @@ module.exports = {
       type: "category",
       label: "⚙️ Configuration",
       items: [
-        "config-overview",
-        "config-block",
-        "config-segment",
-        "config-sample",
-        "config-title",
-        "config-colors",
-        "config-templates",
-        "config-secondary-prompt",
-        "config-debug-prompt",
-        "config-transient",
-        "config-line-error",
-        "config-tooltips",
-        "config-fonts",
+        "configuration/overview",
+        "configuration/block",
+        "configuration/segment",
+        "configuration/sample",
+        "configuration/title",
+        "configuration/colors",
+        "configuration/templates",
+        "configuration/secondary-prompt",
+        "configuration/debug-prompt",
+        "configuration/transient",
+        "configuration/line-error",
+        "configuration/tooltips",
+        "configuration/fonts",
       ],
     },
     {
@@ -52,59 +52,59 @@ module.exports = {
       label: "🌟 Segments",
       collapsed: true,
       items: [
-        "angular",
-        "aws",
-        "az",
-        "azfunc",
-        "battery",
-        "brewfather",
-        "cds",
-        "command",
-        "crystal",
-        "cf",
-        "cftarget",
-        "dart",
-        "dotnet",
-        "executiontime",
-        "exit",
-        "git",
-        "poshgit",
-        "golang",
-        "haskell",
-        "ipify",
-        "java",
-        "julia",
-        "kotlin",
-        "kubectl",
-        "nbgv",
-        "nightscout",
-        "npm",
-        "node",
-        "os",
-        "owm",
-        "path",
-        "php",
-        "plastic",
-        "project",
-        "python",
-        "r",
-        "root",
-        "ruby",
-        "rust",
-        "session",
-        "shell",
-        "spotify",
-        "strava",
-        "swift",
-        "sysinfo",
-        "terraform",
-        "text",
-        "time",
-        "ui5tooling",
-        "wakatime",
-        "wifi",
-        "winreg",
-        "ytm",
+        "segments/angular",
+        "segments/aws",
+        "segments/az",
+        "segments/azfunc",
+        "segments/battery",
+        "segments/brewfather",
+        "segments/cds",
+        "segments/command",
+        "segments/crystal",
+        "segments/cf",
+        "segments/cftarget",
+        "segments/dart",
+        "segments/dotnet",
+        "segments/executiontime",
+        "segments/exit",
+        "segments/git",
+        "segments/poshgit",
+        "segments/golang",
+        "segments/haskell",
+        "segments/ipify",
+        "segments/java",
+        "segments/julia",
+        "segments/kotlin",
+        "segments/kubectl",
+        "segments/nbgv",
+        "segments/nightscout",
+        "segments/npm",
+        "segments/node",
+        "segments/os",
+        "segments/owm",
+        "segments/path",
+        "segments/php",
+        "segments/plastic",
+        "segments/project",
+        "segments/python",
+        "segments/r",
+        "segments/root",
+        "segments/ruby",
+        "segments/rust",
+        "segments/session",
+        "segments/shell",
+        "segments/spotify",
+        "segments/strava",
+        "segments/swift",
+        "segments/sysinfo",
+        "segments/terraform",
+        "segments/text",
+        "segments/time",
+        "segments/ui5tooling",
+        "segments/wakatime",
+        "segments/wifi",
+        "segments/winreg",
+        "segments/ytm",
       ],
     },
     {
@@ -112,10 +112,10 @@ module.exports = {
       label: "🙋🏾‍♀️ Contributing",
       collapsed: true,
       items: [
-        "contributing_started",
-        "contributing_segment",
-        "contributing_git",
-        "contributing_plastic",
+        "contributing/started",
+        "contributing/segment",
+        "contributing/git",
+        "contributing/plastic",
       ],
     },
     "themes",
diff --git a/src/cli/cache.go b/src/cli/cache.go
index 9d346135..52e86012 100644
--- a/src/cli/cache.go
+++ b/src/cli/cache.go
@@ -1,7 +1,3 @@
-/*
-Copyright © 2022 NAME HERE <EMAIL ADDRESS>
-
-*/
 package cli
 
 import (
diff --git a/src/cli/config.go b/src/cli/config.go
index e462b840..4f553603 100644
--- a/src/cli/config.go
+++ b/src/cli/config.go
@@ -1,7 +1,3 @@
-/*
-Copyright © 2022 NAME HERE <EMAIL ADDRESS>
-
-*/
 package cli
 
 import (
diff --git a/src/cli/config_export.go b/src/cli/config_export.go
index 87a9be08..89b52d7f 100644
--- a/src/cli/config_export.go
+++ b/src/cli/config_export.go
@@ -1,7 +1,3 @@
-/*
-Copyright © 2022 NAME HERE <EMAIL ADDRESS>
-
-*/
 package cli
 
 import (
diff --git a/src/cli/config_export_image.go b/src/cli/config_export_image.go
index 9ab8081f..a9373c77 100644
--- a/src/cli/config_export_image.go
+++ b/src/cli/config_export_image.go
@@ -1,7 +1,3 @@
-/*
-Copyright © 2022 NAME HERE <EMAIL ADDRESS>
-
-*/
 package cli
 
 import (
diff --git a/src/cli/config_migrate.go b/src/cli/config_migrate.go
index fa2b5e78..7c62842d 100644
--- a/src/cli/config_migrate.go
+++ b/src/cli/config_migrate.go
@@ -1,7 +1,3 @@
-/*
-Copyright © 2022 NAME HERE <EMAIL ADDRESS>
-
-*/
 package cli
 
 import (
diff --git a/src/cli/debug.go b/src/cli/debug.go
index ef8d10fd..b9929812 100644
--- a/src/cli/debug.go
+++ b/src/cli/debug.go
@@ -1,7 +1,3 @@
-/*
-Copyright © 2022 NAME HERE <EMAIL ADDRESS>
-
-*/
 package cli
 
 import (
diff --git a/src/cli/get.go b/src/cli/get.go
index 485c2c5f..5158a003 100644
--- a/src/cli/get.go
+++ b/src/cli/get.go
@@ -1,7 +1,3 @@
-/*
-Copyright © 2022 NAME HERE <EMAIL ADDRESS>
-
-*/
 package cli
 
 import (
diff --git a/src/cli/init.go b/src/cli/init.go
index 92228927..27b421a0 100644
--- a/src/cli/init.go
+++ b/src/cli/init.go
@@ -1,7 +1,3 @@
-/*
-Copyright © 2022 NAME HERE <EMAIL ADDRESS>
-
-*/
 package cli
 
 import (
diff --git a/src/cli/print.go b/src/cli/print.go
index dfc0052a..9c0e9f29 100644
--- a/src/cli/print.go
+++ b/src/cli/print.go
@@ -1,7 +1,3 @@
-/*
-Copyright © 2022 NAME HERE <EMAIL ADDRESS>
-
-*/
 package cli
 
 import (
@@ -24,8 +20,9 @@ var (
 	terminalWidth int
 	eval          bool
 
-	command string
-	plain   bool
+	command      string
+	shellVersion string
+	plain        bool
 )
 
 // printCmd represents the prompt command
@@ -61,6 +58,7 @@ var printCmd = &cobra.Command{
 				TerminalWidth: terminalWidth,
 				Eval:          eval,
 				Shell:         shellName,
+				ShellVersion:  shellVersion,
 			},
 		}
 		env.Init(false)
@@ -122,6 +120,7 @@ func init() { // nolint:gochecknoinits
 	printCmd.Flags().StringVar(&pwd, "pwd", "", "current working directory")
 	printCmd.Flags().StringVar(&pswd, "pswd", "", "current working directory (according to pwsh)")
 	printCmd.Flags().StringVar(&shellName, "shell", "", "the shell to print for")
+	printCmd.Flags().StringVar(&shellVersion, "shell-version", "", "the shell version")
 	printCmd.Flags().IntVarP(&exitCode, "error", "e", 0, "last exit code")
 	printCmd.Flags().Float64Var(&timing, "execution-time", 0, "timing of the last command")
 	printCmd.Flags().IntVarP(&stackCount, "stack-count", "s", 0, "number of locations on the stack")
diff --git a/src/cli/prompt.go b/src/cli/prompt.go
index 19d8fe78..4a748e98 100644
--- a/src/cli/prompt.go
+++ b/src/cli/prompt.go
@@ -1,7 +1,3 @@
-/*
-Copyright © 2022 NAME HERE <EMAIL ADDRESS>
-
-*/
 package cli
 
 import (
diff --git a/src/cli/version.go b/src/cli/version.go
index aa57e8fb..169d7b77 100644
--- a/src/cli/version.go
+++ b/src/cli/version.go
@@ -1,7 +1,3 @@
-/*
-Copyright © 2022 NAME HERE <EMAIL ADDRESS>
-
-*/
 package cli
 
 import (
diff --git a/src/environment/shell.go b/src/environment/shell.go
index 60d1fe60..4a09f080 100644
--- a/src/environment/shell.go
+++ b/src/environment/shell.go
@@ -35,6 +35,7 @@ type Flags struct {
 	ErrorCode     int
 	Config        string
 	Shell         string
+	ShellVersion  string
 	PWD           string
 	PSWD          string
 	ExecutionTime float64
@@ -108,16 +109,17 @@ type WifiInfo struct {
 }
 
 type TemplateCache struct {
-	Root     bool
-	PWD      string
-	Folder   string
-	Shell    string
-	UserName string
-	HostName string
-	Code     int
-	Env      map[string]string
-	OS       string
-	WSL      bool
+	Root         bool
+	PWD          string
+	Folder       string
+	Shell        string
+	ShellVersion string
+	UserName     string
+	HostName     string
+	Code         int
+	Env          map[string]string
+	OS           string
+	WSL          bool
 }
 
 type Environment interface {
@@ -697,10 +699,11 @@ func (env *ShellEnvironment) TemplateCache() *TemplateCache {
 		return env.tmplCache
 	}
 	tmplCache := &TemplateCache{
-		Root:  env.Root(),
-		Shell: env.Shell(),
-		Code:  env.ErrorCode(),
-		WSL:   env.IsWsl(),
+		Root:         env.Root(),
+		Shell:        env.Shell(),
+		ShellVersion: env.CmdFlags.ShellVersion,
+		Code:         env.ErrorCode(),
+		WSL:          env.IsWsl(),
 	}
 	tmplCache.Env = make(map[string]string)
 	const separator = "="
diff --git a/src/segments/shell.go b/src/segments/shell.go
index 66c44be4..cc6558ae 100644
--- a/src/segments/shell.go
+++ b/src/segments/shell.go
@@ -10,7 +10,8 @@ type Shell struct {
 	props properties.Properties
 	env   environment.Environment
 
-	Name string
+	Name    string
+	Version string
 }
 
 const (
@@ -25,6 +26,7 @@ func (s *Shell) Template() string {
 func (s *Shell) Enabled() bool {
 	mappedNames := s.props.GetKeyValueMap(MappedShellNames, make(map[string]string))
 	s.Name = s.env.Shell()
+	s.Version = s.env.Flags().ShellVersion
 	for key, val := range mappedNames {
 		if strings.EqualFold(s.Name, key) {
 			s.Name = val
diff --git a/src/shell/scripts/omp.bash b/src/shell/scripts/omp.bash
index 73e0531a..d3f17360 100644
--- a/src/shell/scripts/omp.bash
+++ b/src/shell/scripts/omp.bash
@@ -12,7 +12,7 @@ fi
 # start timer on command start
 PS0='$(::OMP:: get millis > "$TIMER_START")'
 # set secondary prompt
-PS2="$(::OMP:: print secondary --config="$POSH_THEME" --shell=bash)"
+PS2="$(::OMP:: print secondary --config="$POSH_THEME" --shell=bash --shell-version="$BASH_VERSION")"
 
 function _omp_hook() {
     local ret=$?
@@ -25,7 +25,7 @@ function _omp_hook() {
         omp_elapsed=$((omp_now-omp_start_time))
         rm -f "$TIMER_START"
     fi
-    PS1="$(::OMP:: print primary --config="$POSH_THEME" --shell=bash --error="$ret" --execution-time="$omp_elapsed" --stack-count="$omp_stack_count" | tr -d '\0')"
+    PS1="$(::OMP:: print primary --config="$POSH_THEME" --shell=bash --shell-version="$BASH_VERSION" --error="$ret" --execution-time="$omp_elapsed" --stack-count="$omp_stack_count" | tr -d '\0')"
 
     return $ret
 }
diff --git a/src/shell/scripts/omp.fish b/src/shell/scripts/omp.fish
index 8fd5c78f..46c73ee1 100644
--- a/src/shell/scripts/omp.fish
+++ b/src/shell/scripts/omp.fish
@@ -7,7 +7,7 @@ set --global omp_transient 0
 function fish_prompt
     set --local omp_status_cache_temp $status
     if test "$omp_transient" = "1"
-      ::OMP:: print transient --config $POSH_THEME --shell fish --error $omp_status_cache --execution-time $omp_duration --stack-count $omp_stack_count
+      ::OMP:: print transient --config $POSH_THEME --shell fish --error $omp_status_cache --execution-time $omp_duration --stack-count $omp_stack_count --shell-version $FISH_VERSION
       return
     end
     set --global omp_status_cache $omp_status_cache_temp
@@ -25,7 +25,7 @@ function fish_prompt
       set --global --export omp_last_status_generation $status_generation
     end
 
-    ::OMP:: print primary --config $POSH_THEME --shell fish --error $omp_status_cache --execution-time $omp_duration --stack-count $omp_stack_count
+    ::OMP:: print primary --config $POSH_THEME --shell fish --error $omp_status_cache --execution-time $omp_duration --stack-count $omp_stack_count --shell-version $FISH_VERSION
 end
 
 function fish_right_prompt
@@ -35,14 +35,14 @@ function fish_right_prompt
       return
     end
     if test -n "$omp_tooltip_command"
-      set omp_tooltip_prompt (::OMP:: print tooltip --config $POSH_THEME --shell fish --command $omp_tooltip_command)
+      set omp_tooltip_prompt (::OMP:: print tooltip --config $POSH_THEME --shell fish --shell-version $FISH_VERSION --command $omp_tooltip_command)
       if test -n "$omp_tooltip_prompt"
         echo -n $omp_tooltip_prompt
         set omp_tooltip_command ""
         return
       end
     end
-    ::OMP:: print right --config $POSH_THEME --shell fish --error $omp_status_cache --execution-time $omp_duration --stack-count $omp_stack_count
+    ::OMP:: print right --config $POSH_THEME --shell fish --error $omp_status_cache --execution-time $omp_duration --stack-count $omp_stack_count --shell-version $FISH_VERSION
 end
 
 function postexec_omp --on-event fish_postexec
diff --git a/src/shell/scripts/omp.nu b/src/shell/scripts/omp.nu
index 74c6c678..1289fc26 100644
--- a/src/shell/scripts/omp.nu
+++ b/src/shell/scripts/omp.nu
@@ -5,11 +5,12 @@ let-env PROMPT_INDICATOR = ""
 # making it annoying when you have a multiline prompt
 # making the behavior different compared to other shells
 let-env PROMPT_COMMAND_RIGHT = {''}
+let-env NU_VERSION = (version | get version)
 
 # PROMPTS
-let-env PROMPT_MULTILINE_INDICATOR = (^::OMP:: print secondary $"--config=($env.POSH_THEME)" --shell=nu)
+let-env PROMPT_MULTILINE_INDICATOR = (^::OMP:: print secondary $"--config=($env.POSH_THEME)" --shell=nu $"--shell-version=($env.NU_VERSION)")
 
 let-env PROMPT_COMMAND = {
     let width = (term size -c | get columns | into string)
-    ^::OMP:: print primary $"--config=($env.POSH_THEME)" $"--execution-time=($env.CMD_DURATION_MS)" $"--error=($env.LAST_EXIT_CODE)" $"--terminal-width=($width)"
+    ^::OMP:: print primary $"--config=($env.POSH_THEME)" --shell=nu $"--shell-version=($env.NU_VERSION)" $"--execution-time=($env.CMD_DURATION_MS)" $"--error=($env.LAST_EXIT_CODE)" $"--terminal-width=($width)"
 }
diff --git a/src/shell/scripts/omp.ps1 b/src/shell/scripts/omp.ps1
index e5e0070c..b5cce5ec 100644
--- a/src/shell/scripts/omp.ps1
+++ b/src/shell/scripts/omp.ps1
@@ -26,6 +26,7 @@ function global:Start-Utf8Process {
 
 $env:POWERLINE_COMMAND = "oh-my-posh"
 $env:CONDA_PROMPT_MODIFIER = $false
+$env:SHELL_VERSION = $PSVersionTable.PSVersion.ToString()
 
 # specific module support (disabled by default)
 $omp_value = $env:POSH_GIT_ENABLED
@@ -73,7 +74,7 @@ function global:Initialize-ModuleSupport {
     $omp = "::OMP::"
     $cleanPWD, $cleanPSWD = Get-PoshContext
     if ($env:POSH_TRANSIENT -eq $true) {
-        @(Start-Utf8Process $omp "print transient --error=$global:OMP_ERRORCODE --pwd=""$cleanPWD"" --pswd=""$cleanPSWD"" --execution-time=$global:OMP_EXECUTIONTIME --config=""$Env:POSH_THEME""") -join "`n"
+        @(Start-Utf8Process $omp "print transient --error=$global:OMP_ERRORCODE --pwd=""$cleanPWD"" --pswd=""$cleanPSWD"" --execution-time=$global:OMP_EXECUTIONTIME --config=""$Env:POSH_THEME"" --shell-version=""$env:SHELL_VERSION""") -join "`n"
         $env:POSH_TRANSIENT = $false
         return
     }
@@ -110,7 +111,7 @@ function global:Initialize-ModuleSupport {
     }
     Set-PoshContext
     $terminalWidth = $Host.UI.RawUI.WindowSize.Width
-    $standardOut = @(Start-Utf8Process $omp "print primary --error=$global:OMP_ERRORCODE --pwd=""$cleanPWD"" --pswd=""$cleanPSWD"" --execution-time=$global:OMP_EXECUTIONTIME --stack-count=$stackCount --config=""$Env:POSH_THEME"" --terminal-width=$terminalWidth")
+    $standardOut = @(Start-Utf8Process $omp "print primary --error=$global:OMP_ERRORCODE --pwd=""$cleanPWD"" --pswd=""$cleanPSWD"" --execution-time=$global:OMP_EXECUTIONTIME --stack-count=$stackCount --config=""$Env:POSH_THEME"" --shell-version=""$env:SHELL_VERSION"" --terminal-width=$terminalWidth")
     # make sure PSReadLine knows we have a multiline prompt
     $extraLines = ($standardOut | Measure-Object -Line).Lines - 1
     if ($extraLines -gt 0) {
@@ -180,7 +181,7 @@ function global:Enable-PoshTooltips {
         $cursor = $null
         [Microsoft.PowerShell.PSConsoleReadLine]::GetBufferState([ref]$command, [ref]$cursor)
         $command = ($command -split " ")[0]
-        $standardOut = @(Start-Utf8Process $omp "print tooltip --pwd=""$cleanPWD"" --pswd=""$cleanPSWD"" --config=""$Env:POSH_THEME"" --command=""$command""")
+        $standardOut = @(Start-Utf8Process $omp "print tooltip --pwd=""$cleanPWD"" --pswd=""$cleanPSWD"" --config=""$Env:POSH_THEME"" --command=""$command"" --shell-version=""$env:SHELL_VERSION""")
         Write-Host $standardOut -NoNewline
         $host.UI.RawUI.CursorPosition = $position
     }
diff --git a/src/shell/scripts/omp.zsh b/src/shell/scripts/omp.zsh
index 98b37720..56cf7403 100644
--- a/src/shell/scripts/omp.zsh
+++ b/src/shell/scripts/omp.zsh
@@ -17,7 +17,7 @@ function prompt_ohmyposh_precmd() {
     omp_now=$(::OMP:: get millis)
     omp_elapsed=$(($omp_now-$omp_start_time))
   fi
-  eval "$(::OMP:: print primary --config="$POSH_THEME" --error="$omp_last_error" --execution-time="$omp_elapsed" --stack-count="$omp_stack_count" --eval --shell=zsh)"
+  eval "$(::OMP:: print primary --config="$POSH_THEME" --error="$omp_last_error" --execution-time="$omp_elapsed" --stack-count="$omp_stack_count" --eval --shell=zsh --shell-version="$ZSH_VERSION")"
   unset omp_start_time
   unset omp_now
 }
@@ -48,7 +48,7 @@ function self-insert() {
     zle .self-insert
     return
   fi
-  tooltip=$(::OMP:: print tooltip --config="$POSH_THEME" --shell=zsh --command="$BUFFER")
+  tooltip=$(::OMP:: print tooltip --config="$POSH_THEME" --shell=zsh --command="$BUFFER" --shell-version="$ZSH_VERSION")
   # ignore an empty tooltip
   if [[ ! -z "$tooltip" ]]; then
     RPROMPT=$tooltip
@@ -70,7 +70,7 @@ _posh-zle-line-init() {
     local -i ret=$?
     (( $+zle_bracketed_paste )) && print -r -n - $zle_bracketed_paste[2]
 
-    eval "$(::OMP:: print transient --error="$omp_last_error" --execution-time="$omp_elapsed" --stack-count="$omp_stack_count" --config="$POSH_THEME" --eval --shell=zsh)"
+    eval "$(::OMP:: print transient --error="$omp_last_error" --execution-time="$omp_elapsed" --stack-count="$omp_stack_count" --config="$POSH_THEME" --eval --shell=zsh --shell-version="$ZSH_VERSION")"
     zle .reset-prompt
 
     # If we received EOT, we exit the shell
diff --git a/src/template/text.go b/src/template/text.go
index d2e465c6..c93be852 100644
--- a/src/template/text.go
+++ b/src/template/text.go
@@ -75,7 +75,7 @@ func (t *Text) cleanTemplate() {
 		*knownVariables = append(*knownVariables, splitted[0])
 		return splitted[0], true
 	}
-	knownVariables := []string{"Root", "PWD", "Folder", "Shell", "UserName", "HostName", "Env", "Data", "Code", "OS", "WSL"}
+	knownVariables := []string{"Root", "PWD", "Folder", "Shell", "ShellVersion", "UserName", "HostName", "Env", "Data", "Code", "OS", "WSL"}
 	matches := regex.FindAllNamedRegexMatch(`(?: |{|\()(?P<var>(\.[a-zA-Z_][a-zA-Z0-9]*)+)`, t.Template)
 	for _, match := range matches {
 		if variable, OK := unknownVariable(match["var"], &knownVariables); OK {


Test patch:
diff --git a/src/segments/shell_test.go b/src/segments/shell_test.go
index 697fad57..7bd816a3 100644
--- a/src/segments/shell_test.go
+++ b/src/segments/shell_test.go
@@ -1,6 +1,7 @@
 package segments
 
 import (
+	"oh-my-posh/environment"
 	"oh-my-posh/mock"
 	"oh-my-posh/properties"
 	"testing"
@@ -12,6 +13,7 @@ func TestWriteCurrentShell(t *testing.T) {
 	expected := "zsh"
 	env := new(mock.MockedEnvironment)
 	env.On("Shell").Return(expected, nil)
+	env.On("Flags").Return(&environment.Flags{ShellVersion: "1.2.3"})
 	s := &Shell{
 		env:   env,
 		props: properties.Map{},
@@ -32,6 +34,7 @@ func TestUseMappedShellNames(t *testing.T) {
 	for _, tc := range cases {
 		env := new(mock.MockedEnvironment)
 		env.On("Shell").Return(tc.Expected, nil)
+		env.On("Flags").Return(&environment.Flags{ShellVersion: "1.2.3"})
 		s := &Shell{
 			env: env,
 			props: properties.Map{