Repository: JanDeDobbeleer/oh-my-posh (go)

Issue:
When using nushell with --no-history I get error on oh-my-posh.nu
### Code of Conduct

- [X] I agree to follow this project's Code of Conduct

### What happened?

When trying to use a nushell with history deactivated with nu --no-history
I get the following:
```
 25 │     # this obviously isn't bulletproof, but it's a start
 26 │     let clear = (history | is-empty) or ((history | last 1 | get 0.command) == "clear")
    ·                                                     ──┬─┬
    ·                                                       │ ╰── input type: null
    ·                                                       ╰── only list, binary or range input data is supported
```

history is null and this statement fails.

### Theme

the error does not depend on the theme

### What OS are you seeing the problem on?

Windows

### Which shell are you using?

nu

### Log output

```Shell
Version: 19.24.2

Shell: nu (0.92.2)

Prompt:

 nicom@nico-pc  ~\.local\share\chezmoi  main≡ 0ms  

Segments:

ConsoleTitle(false)                        -   0 ms
Root(false)                                -   0 ms
Session(true)                              -   1 ms
Path(true)                                 -   1 ms
Git(true)                                  -  19 ms
Status(false)                              -   1 ms
Executiontime(true)                        -   1 ms

Run duration: 25.9289ms

Cache path: C:\Users\nicom\AppData\Local\oh-my-posh

Config path: C:\Users\nicom\.myagnoster.omp.json

Logs:

[DEBUG] 00:22:07.827 shell.go:Getenv:325 → NO DATA
[TRACE] 00:22:07.827 shell.go:Getenv(TERM_PROGRAM) - 509.9µs
[DEBUG] 00:22:07.827 shell.go:Getenv:325 → C:\Users\nicom\AppData\Local
[TRACE] 00:22:07.827 shell.go:Getenv(LOCALAPPDATA) - 0s
[TRACE] 00:22:07.827 shell_windows.go:CachePath() - 0s
[DEBUG] 00:22:07.827 shell.go:Getenv:325 → C:\Users\nicom\.myagnoster.omp.json
[TRACE] 00:22:07.827 shell.go:Getenv(POSH_THEME) - 0s
[DEBUG] 00:22:07.827 shell.go:Shell:593 → no shell name provided in flags, trying to detect it
[DEBUG] 00:22:07.831 shell.go:Shell:601 → process name: nu.exe
[TRACE] 00:22:07.831 shell.go:Shell() - 4.2993ms
[TRACE] 00:22:07.831 shell.go:resolveConfigPath() - 4.2993ms
[TRACE] 00:22:07.831 shell.go:Init() - 4.8092ms
[TRACE] 00:22:07.831 shell.go:Flags() - 0s
[TRACE] 00:22:07.831 config.go:loadConfig() - 0s
[TRACE] 00:22:07.831 shell.go:Flags() - 0s
[TRACE] 00:22:07.831 shell.go:Shell() - 0s
[DEBUG] 00:22:07.831 shell.go:Getenv:325 → NO DATA
[TRACE] 00:22:07.831 shell.go:Getenv(OMP_CACHE_DISABLED) - 0s
[TRACE] 00:22:07.832 shell_windows.go:WindowsRegistryKeyValue(HKEY_CURRENT_USER\Software\Microsoft\Windows\DWM\ColorizationColor) - 0s
[TRACE] 00:22:07.832 shell.go:GOOS() - 0s
[TRACE] 00:22:07.832 shell.go:GOOS() - 0s
[TRACE] 00:22:07.832 shell.go:GOOS() - 0s
[TRACE] 00:22:07.832 shell.go:GOOS() - 0s
[TRACE] 00:22:07.832 shell.go:GOOS() - 0s
[TRACE] 00:22:07.832 shell.go:GOOS() - 0s
[TRACE] 00:22:07.832 shell.go:GOOS() - 0s
[TRACE] 00:22:07.832 shell.go:GOOS() - 0s
[TRACE] 00:22:07.832 shell.go:GOOS() - 0s
[TRACE] 00:22:07.832 shell.go:GOOS() - 0s
[TRACE] 00:22:07.832 shell.go:GOOS() - 0s
[TRACE] 00:22:07.832 shell.go:GOOS() - 0s
[TRACE] 00:22:07.832 shell.go:GOOS() - 0s
[TRACE] 00:22:07.832 shell.go:GOOS() - 0s
[TRACE] 00:22:07.832 shell.go:GOOS() - 0s
[TRACE] 00:22:07.832 shell.go:GOOS() - 0s
[TRACE] 00:22:07.832 shell.go:GOOS() - 0s
[TRACE] 00:22:07.832 shell.go:GOOS() - 0s
[TRACE] 00:22:07.832 shell.go:GOOS() - 0s
[DEBUG] 00:22:07.832 shell_windows.go:WindowsRegistryKeyValue:217 → ColorizationColor(DWORD): 0xC4506773
[TRACE] 00:22:07.832 shell.go:Shell() - 0s
[DEBUG] 00:22:07.832 shell.go:Getenv:325 → 0.92.2
[TRACE] 00:22:07.832 shell.go:Getenv(POSH_SHELL_VERSION) - 0s
[DEBUG] 00:22:07.832 debug.go:PrintDebug:22 → Segment: Title
[DEBUG] 00:22:07.832 text.go:Render:70 → Rendering template:
[DEBUG] 00:22:07.832 shell.go:Getenv:325 → NO DATA
[TRACE] 00:22:07.832 shell.go:Getenv(POSH_CURSOR_LINE) - 0s
[DEBUG] 00:22:07.832 shell.go:Getenv:325 → NO DATA
[TRACE] 00:22:07.832 shell.go:Getenv(POSH_CURSOR_COLUMN) - 0s
[TRACE] 00:22:07.832 shell.go:Flags() - 0s
[TRACE] 00:22:07.832 shell.go:Flags() - 0s
[TRACE] 00:22:07.832 shell.go:Shell() - 0s
[TRACE] 00:22:07.832 shell.go:Shell() - 0s
[TRACE] 00:22:07.832 shell.go:Flags() - 0s
[TRACE] 00:22:07.832 shell.go:Flags() - 0s
[TRACE] 00:22:07.832 shell.go:GOOS() - 0s
[TRACE] 00:22:07.832 shell.go:Flags() - 0s
[TRACE] 00:22:07.832 shell.go:Flags() - 0s
[DEBUG] 00:22:07.832 properties.go:GetString:28 → {{ .Code }}
[DEBUG] 00:22:07.832 shell.go:Pwd:355 → C:\Users\nicom\.local\share\chezmoi
[TRACE] 00:22:07.832 shell.go:Flags() - 0s
[TRACE] 00:22:07.832 shell.go:Pwd() - 0s
[DEBUG] 00:22:07.832 shell_windows.go:58 → C:\Users\nicom
[TRACE] 00:22:07.832 shell.go:GOOS() - 0s
[TRACE] 00:22:07.832 shell.go:Pwd() - 0s
[DEBUG] 00:22:07.832 segment.go:SetEnabled:532 → Segment: Executiontime
[DEBUG] 00:22:07.832 shell_windows.go:58 → C:\Users\nicom
[DEBUG] 00:22:07.832 properties.go:GetBool:22 → always_enabled: true
[TRACE] 00:22:07.832 shell.go:GOOS() - 0s
[TRACE] 00:22:07.832 shell.go:ExecutionTime() - 0s
[DEBUG] 00:22:07.832 segment.go:SetEnabled:532 → Segment: Path
[DEBUG] 00:22:07.832 properties.go:GetFloat64:34 → threshold: 500.000000
[TRACE] 00:22:07.832 shell.go:Flags() - 0s
[DEBUG] 00:22:07.832 properties.go:GetString:28 → austin
[TRACE] 00:22:07.832 shell.go:Pwd() - 0s
[TRACE] 00:22:07.832 shell.go:Shell() - 0s
[TRACE] 00:22:07.832 shell.go:Shell() - 0s
[TRACE] 00:22:07.832 shell.go:Pwd() - 0s
[DEBUG] 00:22:07.832 shell_windows.go:58 → C:\Users\nicom
[TRACE] 00:22:07.832 shell.go:GOOS() - 0s
[TRACE] 00:22:07.832 shell_windows.go:Root() - 0s
[TRACE] 00:22:07.832 shell.go:Shell() - 0s
[TRACE] 00:22:07.832 shell.go:StatusCodes() - 0s
[TRACE] 00:22:07.832 shell_windows.go:IsWsl() - 0s
[TRACE] 00:22:07.832 shell.go:Pwd() - 0s
[DEBUG] 00:22:07.832 shell_windows.go:58 → C:\Users\nicom
[TRACE] 00:22:07.832 shell.go:GOOS() - 0s
[DEBUG] 00:22:07.832 segment.go:SetEnabled:532 → Segment: Session
[DEBUG] 00:22:07.832 shell.go:Getenv:325 → NO DATA
[TRACE] 00:22:07.832 shell.go:Getenv(SSH_CONNECTION) - 0s
[DEBUG] 00:22:07.832 shell.go:Getenv:325 → NO DATA
[TRACE] 00:22:07.832 shell.go:Pwd() - 0s
[DEBUG] 00:22:07.832 properties.go:GetBool:22 → mapped_locations_enabled: true
[TRACE] 00:22:07.832 shell_windows.go:Root() - 0s
[TRACE] 00:22:07.832 shell.go:Pwd() - 0s
[DEBUG] 00:22:07.832 properties.go:GetString:28 → 
[DEBUG] 00:22:07.832 shell_windows.go:58 → C:\Users\nicom
[TRACE] 00:22:07.832 shell.go:GOOS() - 0s
[DEBUG] 00:22:07.832 properties.go:GetString:28 → 
[DEBUG] 00:22:07.832 segment.go:SetEnabled:532 → Segment: Status
[TRACE] 00:22:07.832 shell.go:StatusCodes() - 0s
[DEBUG] 00:22:07.832 shell_windows.go:58 → C:\Users\nicom
[TRACE] 00:22:07.832 shell.go:GOOS() - 0s
[TRACE] 00:22:07.832 shell.go:GOOS() - 0s
[DEBUG] 00:22:07.832 properties.go:GetString:28 → ~
[DEBUG] 00:22:07.832 properties.go:GetKeyValueMap:46 → mapped_locations: map[C:\Program Files\OutSystems\Development Environment 11:⊚ DevEnv11 C:\Program Files\OutSystems\Platform Server:⊚ PSRoot C:\git\DBTEAM:⊚  C:\git\Platform:⊚ Platform]
[DEBUG] 00:22:07.832 text.go:Render:70 → Rendering template: C:\Program Files\OutSystems\Platform Server
[TRACE] 00:22:07.832 shell.go:GOOS() - 0s
[TRACE] 00:22:07.832 shell.go:GOOS() - 0s
[DEBUG] 00:22:07.832 text.go:Render:70 → Rendering template: C:\Program Files\OutSystems\Development Environment 11
[TRACE] 00:22:07.832 shell.go:GOOS() - 0s
[TRACE] 00:22:07.832 shell.go:GOOS() - 0s
[TRACE] 00:22:07.832 shell.go:Getenv(SSH_CLIENT) - 0s
[DEBUG] 00:22:07.832 text.go:Render:70 → Rendering template: C:\git\Platform
[TRACE] 00:22:07.832 shell.go:GOOS() - 0s
[TRACE] 00:22:07.832 shell.go:GOOS() - 0s
[DEBUG] 00:22:07.832 text.go:Render:70 → Rendering template: C:\git\DBTEAM
[TRACE] 00:22:07.832 shell.go:GOOS() - 0s
[TRACE] 00:22:07.832 shell.go:GOOS() - 0s
[TRACE] 00:22:07.832 shell.go:PathSeparator() - 0s
[TRACE] 00:22:07.832 shell.go:GOOS() - 0s
[TRACE] 00:22:07.832 shell.go:GOOS() - 0s
[DEBUG] 00:22:07.832 segment.go:SetEnabled:532 → Segment: Git
[TRACE] 00:22:07.832 shell.go:GOOS() - 0s
[DEBUG] 00:22:07.832 shell.go:Getenv:325 → C:\Users\nicom\AppData\Local
[TRACE] 00:22:07.832 shell.go:Getenv(LOCALAPPDATA) - 0s
[TRACE] 00:22:07.832 shell.go:GOOS() - 0s
[TRACE] 00:22:07.832 shell.go:GOOS() - 0s
[TRACE] 00:22:07.833 shell.go:GOOS() - 0s
[TRACE] 00:22:07.833 shell.go:GOOS() - 0s
[TRACE] 00:22:07.833 shell.go:GOOS() - 0s
[TRACE] 00:22:07.833 shell.go:PathSeparator() - 0s
[TRACE] 00:22:07.833 shell.go:PathSeparator() - 0s
[TRACE] 00:22:07.833 shell.go:GOOS() - 0s
[TRACE] 00:22:07.833 shell.go:GOOS() - 0s
[DEBUG] 00:22:07.833 shell.go:TemplateCache:774 → environment: [ALLUSERSPROFILE=C:\ProgramData APPDATA=C:\Users\nicom\AppData\Roaming ChocolateyInstall=C:\ProgramData\chocolatey ChocolateyLastPathUpdate="133214613610439666" CMD_DURATION_MS=222 CommonProgramFiles=C:\Program Files\Common Files CommonProgramFiles(x86)=C:\Program Files (x86)\Common Files CommonProgramW6432=C:\Program Files\Common Files COMPUTERNAME=NICO-PC ComSpec=C:\Windows\system32\cmd.exe DIRS_POSITION=0 DriverData=C:\Windows\System32\Drivers\DriverData HOMEDRIVE=C: HOMEPATH=\Users\nicom HOME_DIR=\Users\nicom IGCCSVC_DB=AQAAANCMnd8BFdERjHoAwE/Cl+sBAAAAoVW6sMnLU0SkGjR02GJyKgQAAAACAAAAAAAQZgAAAAEAACAAAAABK057KReWuWzVNU2HilGt8IyvIpb52s8z9vyj2ajLxQAAAAAOgAAAAAIAACAAAADenqXYi/1G1vI0wX29zRgAXC6F3xqwErGJPYTRvLjgHWAAAACEoKpNlM0/FkebKXFxnjgfjiajTaVfDZHQwYrqzUJXN/YQn09Hdyxrx5q3Ib2Y1eIeydoifJk5hV+a/ZtsYms4Dqbu2XlkCCiK6+S8PyGz1nd+6l/bvZOJ8xoi6PFnC0RAAAAAUwBcfWVZplXxmBR0+t1anezW4NxtMKdZ60IQifX+XhNsOTh1y7CFwrvKSHeXzdBrzj0SIv6LQvMwkHQIenlZaQ== LAST_EXIT_CODE=1 LOCALAPPDATA=C:\Users\nicom\AppData\Local LOGONSERVER=\\NICO-PC NUMBER_OF_PROCESSORS=20 NU_LOG_DATE_FORMAT=%Y-%m-%dT%H:%M:%S%.3f NU_LOG_FORMAT=%ANSI_START%%DATE%|%LEVEL%|%MSG%%ANSI_STOP% NU_VERSION=0.92.2 OneDrive=C:\Users\nicom\OneDrive OneDriveConsumer=C:\Users\nicom\OneDrive OS=Windows_NT Path=C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\ProgramData\chocolatey\bin;c:\tools\scripts;C:\Program Files\Git\cmd;C:\Program Files\PowerShell\7\;C:\Program Files\nu\bin\;C:\Users\nicom\AppData\Local\Microsoft\WindowsApps;C:\Users\nicom\AppData\Local\Programs\oh-my-posh\bin;C:\Users\nicom\AppData\Local\Programs\Microsoft VS Code\bin;C:\tools\ffmpeg\bin;C:\Users\nicom\AppData\Local\GitHubDesktop\bin;C:\Users\nicom\AppData\Local\Microsoft\WinGet\Packages\ajeetdsouza.zoxide_Microsoft.Winget.Source_8wekyb3d8bbwe;C:\Program Files\Neovim\bin;C:\Users\nicom\AppData\Local\Microsoft\WinGet\Packages\twpayne.chezmoi_Microsoft.Winget.Source_8wekyb3d8bbwe;C:\Users\nicom\AppData\Local\Microsoft\WinGet\Packages\BurntSushi.ripgrep.MSVC_Microsoft.Winget.Source_8wekyb3d8bbwe\ripgrep-14.1.0-x86_64-pc-windows-msvc;C:\Users\nicom\.local\share\chezmoi\ PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC POSH_INSTALLER=winget POSH_PID=aa5b3398-1b2f-46d0-89e2-4c09391df3b4 POSH_SHELL_VERSION=0.92.2 POSH_THEME=C:\Users\nicom\.myagnoster.omp.json POSH_THEMES_PATH=C:\Users\nicom\AppData\Local\Programs\oh-my-posh\themes POWERLINE_COMMAND=oh-my-posh POWERSHELL_DISTRIBUTION_CHANNEL=MSI:Windows 10 Pro PROCESSOR_ARCHITECTURE=AMD64 PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 183 Stepping 1, GenuineIntel PROCESSOR_LEVEL=6 PROCESSOR_REVISION=b701 ProgramData=C:\ProgramData ProgramFiles=C:\Program Files ProgramFiles(x86)=C:\Program Files (x86) ProgramW6432=C:\Program Files PROMPT_INDICATOR= PROMPT_MULTILINE_INDICATOR=>  PSModulePath=C:\Program Files\WindowsPowerShell\Modules;C:\Windows\system32\WindowsPowerShell\v1.0\Modules PUBLIC=C:\Users\Public PWD=C:\Users\nicom\.local\share\chezmoi SESSIONNAME=Console SystemDrive=C: SystemRoot=C:\Windows TEMP=C:\Users\nicom\AppData\Local\Temp TMP=C:\Users\nicom\AppData\Local\Temp USERDOMAIN=NICO-PC USERDOMAIN_ROAMINGPROFILE=NICO-PC USERNAME=nicom USERPROFILE=C:\Users\nicom windir=C:\Windows WSLENV=WT_SESSION:WT_PROFILE_ID: WT_PROFILE_ID={aab79973-318f-43b6-a9bc-b4096493753f} WT_SESSION=384d15f0-7d30-49d5-80d1-ded3deb216a1 ZES_ENABLE_SYSMAN=1]
[TRACE] 00:22:07.833 shell.go:GOOS() - 0s
[TRACE] 00:22:07.833 shell.go:PathSeparator() - 0s
[TRACE] 00:22:07.833 shell.go:GOOS() - 0s
[TRACE] 00:22:07.833 shell.go:GOOS() - 0s
[TRACE] 00:22:07.833 shell.go:GOOS() - 0s
[TRACE] 00:22:07.833 shell.go:PathSeparator() - 0s
[TRACE] 00:22:07.833 shell.go:GOOS() - 0s
[TRACE] 00:22:07.833 shell.go:Pwd() - 0s
[TRACE] 00:22:07.833 shell.go:GOOS() - 0s
[TRACE] 00:22:07.833 shell.go:GOOS() - 0s
[DEBUG] 00:22:07.833 shell_windows.go:58 → C:\Users\nicom
[TRACE] 00:22:07.833 shell.go:GOOS() - 0s
[TRACE] 00:22:07.833 shell.go:GOOS() - 0s
[TRACE] 00:22:07.833 shell.go:PathSeparator() - 0s
[TRACE] 00:22:07.833 shell.go:GOOS() - 0s
[TRACE] 00:22:07.833 shell.go:GOOS() - 0s
[TRACE] 00:22:07.833 shell.go:PathSeparator() - 0s
[TRACE] 00:22:07.833 shell.go:GOOS() - 0s
[TRACE] 00:22:07.833 shell.go:GOOS() - 0s
[TRACE] 00:22:07.833 shell.go:GOOS() - 0s
[TRACE] 00:22:07.833 shell.go:GOOS() - 0s
[TRACE] 00:22:07.833 shell.go:PathSeparator() - 0s
[TRACE] 00:22:07.833 shell.go:GOOS() - 0s
[TRACE] 00:22:07.833 shell.go:GOOS() - 0s
[TRACE] 00:22:07.833 shell.go:GOOS() - 0s
[DEBUG] 00:22:07.833 properties.go:GetString:28 → NO DATA
[DEBUG] 00:22:07.833 shell.go:User:493 → nicom
[DEBUG] 00:22:07.833 shell_windows.go:58 → C:\Users\nicom
[TRACE] 00:22:07.833 shell.go:User() - 0s
[TRACE] 00:22:07.833 shell.go:PathSeparator() - 0s
[TRACE] 00:22:07.833 shell.go:PathSeparator() - 0s
[TRACE] 00:22:07.833 shell.go:PathSeparator() - 0s
[TRACE] 00:22:07.833 shell.go:PathSeparator() - 0s
[DEBUG] 00:22:07.833 properties.go:GetString:28 → agnoster_full
[TRACE] 00:22:07.833 shell.go:PathSeparator() - 0s
[DEBUG] 00:22:07.833 properties.go:GetStringArray:52 → cycle: []
[DEBUG] 00:22:07.833 properties.go:GetString:28 → NO DATA
[TRACE] 00:22:07.833 shell.go:PathSeparator() - 0s
[DEBUG] 00:22:07.833 properties.go:GetString:28 → \
[DEBUG] 00:22:07.833 properties.go:GetBool:22 → cycle_folder_separator: false
[DEBUG] 00:22:07.833 properties.go:GetString:28 → %s
[DEBUG] 00:22:07.833 properties.go:GetString:28 → %s
[DEBUG] 00:22:07.833 properties.go:GetString:28 → %s
[DEBUG] 00:22:07.833 properties.go:GetString:28 → %s
[TRACE] 00:22:07.833 shell.go:PathSeparator() - 0s
[DEBUG] 00:22:07.833 shell.go:Host:505 → nico-pc
[TRACE] 00:22:07.833 shell.go:Pwd() - 0s
[TRACE] 00:22:07.833 shell.go:Host() - 0s
[TRACE] 00:22:07.833 shell.go:GOOS() - 0s
[TRACE] 00:22:07.833 shell_windows.go:IsWsl() - 0s
[TRACE] 00:22:07.833 shell.go:StackCount() - 0s
[DEBUG] 00:22:07.833 shell.go:Getenv:325 → NO DATA
[TRACE] 00:22:07.833 shell.go:Getenv(SHLVL) - 0s
[TRACE] 00:22:07.833 shell.go:TemplateCache() - 1.0535ms
[TRACE] 00:22:07.833 shell.go:TemplateCache() - 509.6µs
[TRACE] 00:22:07.833 shell.go:TemplateCache() - 0s
[DEBUG] 00:22:07.833 properties.go:GetBool:22 → always_enabled: false
[DEBUG] 00:22:07.833 win32_windows.go:isWriteable:299 → not current user or in group
[DEBUG] 00:22:07.833 win32_windows.go:isWriteable:303 → current user is member of S-1-5-32-544
[DEBUG] 00:22:07.833 win32_windows.go:isWriteable:311 ↓
    WRITE_DAC
    WRITE_OWNER
    SYNCHRONIZE
    DELETE
    READ_CONTROL
[DEBUG] 00:22:07.833 win32_windows.go:isWriteable:313 → user has write access
[TRACE] 00:22:07.833 shell_windows.go:DirIsWritable() - 511.3µs
[TRACE] 00:22:07.833 shell.go:TemplateCache() - 0s
[DEBUG] 00:22:07.834 shell.go:CommandPath:545 → C:\Program Files\Git\cmd\git.exe
[TRACE] 00:22:07.834 shell.go:CommandPath(git.exe) - 1.5342ms
[TRACE] 00:22:07.834 shell.go:HasCommand(git.exe) - 1.5342ms
[TRACE] 00:22:07.834 shell.go:Pwd() - 0s
[TRACE] 00:22:07.834 shell.go:HasParentFilePath(.git) - 0s
[DEBUG] 00:22:07.834 properties.go:GetStringArray:52 → exclude_folders: [~]
[DEBUG] 00:22:07.834 shell_windows.go:58 → C:\Users\nicom
[TRACE] 00:22:07.834 shell.go:GOOS() - 0s
[DEBUG] 00:22:07.834 shell_windows.go:58 → C:\Users\nicom
[TRACE] 00:22:07.834 shell.go:GOOS() - 0s
[TRACE] 00:22:07.834 shell.go:GOOS() - 0s
[TRACE] 00:22:07.834 shell.go:GOOS() - 0s
[DEBUG] 00:22:07.834 properties.go:GetBool:22 → fetch_user: false
[TRACE] 00:22:07.834 shell.go:GOOS() - 0s
[TRACE] 00:22:07.834 shell.go:GOOS() - 0s
[TRACE] 00:22:07.834 shell.go:GOOS() - 0s
[TRACE] 00:22:07.834 shell.go:GOOS() - 0s
[TRACE] 00:22:07.834 shell.go:GOOS() - 0s
[TRACE] 00:22:07.834 shell.go:GOOS() - 0s
[TRACE] 00:22:07.834 shell.go:GOOS() - 0s
[TRACE] 00:22:07.834 shell.go:GOOS() - 0s
[DEBUG] 00:22:07.834 shell.go:Getenv:325 → NO DATA
[TRACE] 00:22:07.834 shell.go:Getenv(POSH_GIT_STATUS) - 0s
[DEBUG] 00:22:07.834 properties.go:GetBool:22 → fetch_status: true
[DEBUG] 00:22:07.834 properties.go:GetStringArray:52 → ignore_status: []
[DEBUG] 00:22:07.834 shell_windows.go:58 → C:\Users\nicom
[TRACE] 00:22:07.834 shell.go:GOOS() - 0s
[DEBUG] 00:22:07.834 properties.go:GetKeyValueMap:46 → status_formats: map[]
[DEBUG] 00:22:07.834 properties.go:GetKeyValueMap:46 → untracked_modes: map[/Users/LFL/Projects/oh-my-posh/:no]
[DEBUG] 00:22:07.834 properties.go:GetKeyValueMap:46 → ignore_submodules: map[]
[DEBUG] 00:22:07.850 shell.go:RunCommand:523 ↓
    # branch.oid 965f16835e1f276c5b44983468bc5ff00e15348b
    # branch.head main
    # branch.upstream origin/main
    # branch.ab +0 -0
[TRACE] 00:22:07.850 shell.go:RunCommand(git.exe -C C:/Users/nicom/.local/share/chezmoi --no-optional-locks -c core.quotepath=false -c color.status=false status -unormal --branch --porcelain=2) - 16.4781ms
[DEBUG] 00:22:07.850 properties.go:GetString:28 → 
[DEBUG] 00:22:07.850 properties.go:GetInt:40 → branch_max_length: 0
[DEBUG] 00:22:07.850 shell.go:HasFolder:437 → false
[TRACE] 00:22:07.850 shell.go:HasFolder(C:\Users\nicom\.local\share\chezmoi\.git/rebase-merge) - 0s
[DEBUG] 00:22:07.850 shell.go:HasFolder:437 → false
[TRACE] 00:22:07.850 shell.go:HasFolder(C:\Users\nicom\.local\share\chezmoi\.git/rebase-apply) - 0s
[DEBUG] 00:22:07.850 properties.go:GetString:28 → 
[DEBUG] 00:22:07.851 shell.go:HasFilesInDir:408 → false
[TRACE] 00:22:07.851 shell.go:HasFilesInDir(MERGE_MSG) - 503.1µs
[DEBUG] 00:22:07.851 shell.go:HasFilesInDir:408 → false
[TRACE] 00:22:07.851 shell.go:HasFilesInDir(CHERRY_PICK_HEAD) - 0s
[DEBUG] 00:22:07.851 shell.go:HasFilesInDir:408 → false
[TRACE] 00:22:07.851 shell.go:HasFilesInDir(REVERT_HEAD) - 0s
[DEBUG] 00:22:07.851 shell.go:HasFilesInDir:408 → false
[TRACE] 00:22:07.851 shell.go:HasFilesInDir(sequencer/todo) - 0s
[DEBUG] 00:22:07.851 properties.go:GetString:28 → ≡
[DEBUG] 00:22:07.851 properties.go:GetBool:22 → fetch_upstream_icon: true
[DEBUG] 00:22:07.851 properties.go:GetKeyValueMap:46 → upstream_icons: map[]
[DEBUG] 00:22:07.851 properties.go:GetString:28 → 
[TRACE] 00:22:07.851 shell.go:TemplateCache() - 0s
[DEBUG] 00:22:07.851 text.go:Render:70 → Rendering template:  {{ .FormattedMs }} <#95ffa4,#89B4FA> </>
[DEBUG] 00:22:07.851 text.go:Render:70 → Rendering template:  {{ .UserName }}@{{ .HostName }}
[DEBUG] 00:22:07.851 text.go:Render:70 → Rendering template: {{ .UpstreamIcon }}{{ .HEAD }}{{ .BranchStatus }}{{ if .Working.Changed }}  {{ .Working.String }}{{ end }}{{ if and (.Working.Changed) (.Staging.Changed) }} |{{ end }}{{ if .Staging.Changed }}  {{ .Staging.String }}{{ end }}{{ if gt .StashCount 0 }}  {{ .StashCount }}{{ end }}
[DEBUG] 00:22:07.851 text.go:Render:70 → Rendering template:  {{ .Path }}
[TRACE] 00:22:07.851 shell.go:TemplateCache() - 0s
[TRACE] 00:22:07.851 shell.go:Shell() - 0s
[TRACE] 00:22:07.851 shell.go:TemplateCache() - 0s
[TRACE] 00:22:07.851 shell.go:Shell() - 0s
[TRACE] 00:22:07.851 shell.go:TemplateCache() - 0s
[TRACE] 00:22:07.851 shell.go:Shell() - 0s
[TRACE] 00:22:07.851 shell.go:TemplateCache() - 0s
[ERROR] 00:22:07.852 shell.go:FileContent:463 → open C:\Users\nicom\.local\share\chezmoi\.git/logs/refs/stash: The system cannot find the file specified.
[TRACE] 00:22:07.852 shell.go:FileContent(C:\Users\nicom\.local\share\chezmoi\.git/logs/refs/stash) - 506.1µs
[TRACE] 00:22:07.852 shell.go:Shell() - 0s
[DEBUG] 00:22:07.852 text.go:Render:70 → Rendering template: plain
[DEBUG] 00:22:07.852 text.go:Render:70 → Rendering template: plain
[DEBUG] 00:22:07.852 text.go:Render:70 → Rendering template: powerline
[DEBUG] 00:22:07.852 text.go:Render:70 → Rendering template: {{ if or (.Working.Changed) (.Staging.Changed) }}#ffe9aa{{ end }}
[TRACE] 00:22:07.852 shell.go:TemplateCache() - 0s
[DEBUG] 00:22:07.852 text.go:Render:70 → Rendering template: {{ if and (gt .Ahead 0) (gt .Behind 0) }}#FFCC80{{ end }}
[TRACE] 00:22:07.852 shell.go:TemplateCache() - 0s
[DEBUG] 00:22:07.852 text.go:Render:70 → Rendering template: {{ if gt .Ahead 0 }}#B388FF{{ end }}
[TRACE] 00:22:07.852 shell.go:TemplateCache() - 0s
[DEBUG] 00:22:07.852 text.go:Render:70 → Rendering template: {{ if gt .Behind 0 }}#F5C2E7{{ end }}
[TRACE] 00:22:07.852 shell.go:TemplateCache() - 0s
[DEBUG] 00:22:07.852 text.go:Render:70 → Rendering template: powerline
[DEBUG] 00:22:07.852 text.go:Render:70 → Rendering template: powerline
[DEBUG] 00:22:07.852 text.go:Render:70 → Rendering template: powerline
[TRACE] 00:22:07.852 shell.go:Shell() - 0s
[TRACE] 00:22:07.852 shell.go:Shell() - 0s
[TRACE] 00:22:07.852 shell.go:Shell() - 0s
[TRACE] 00:22:07.852 shell.go:Pwd() - 0s
[TRACE] 00:22:07.852 shell.go:Shell() - 0s
[DEBUG] 00:22:07.852 text.go:Render:70 → Rendering template: osc99
[DEBUG] 00:22:07.852 shell.go:User:493 → nicom
[TRACE] 00:22:07.852 shell.go:User() - 0s
[DEBUG] 00:22:07.852 shell.go:Host:505 → nico-pc
[TRACE] 00:22:07.852 shell.go:Host() - 0s
[TRACE] 00:22:07.852 shell.go:Shell() - 0s
[DEBUG] 00:22:07.852 shell.go:Getenv:325 → C:\Users\nicom\AppData\Local
[TRACE] 00:22:07.852 shell.go:Getenv(LOCALAPPDATA) - 0s
[TRACE] 00:22:07.852 shell_windows.go:CachePath() - 0s
[TRACE] 00:22:07.852 shell.go:Flags() - 0s
```


Pull request:
fix(nu): support starting with --no-history
### Prerequisites

- [x] I have read and understood the [contributing guide][CONTRIBUTING.md].
- [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

resolves #4887

<!---

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.

-->

[CONTRIBUTING.md]: https://github.com/JanDeDobbeleer/oh-my-posh/blob/main/CONTRIBUTING.md
[cc]: https://www.conventionalcommits.org/en/v1.0.0/#summary


Patch:
diff --git a/src/.golangci.yml b/src/.golangci.yml
index a6c3afe7..31fadd69 100644
--- a/src/.golangci.yml
+++ b/src/.golangci.yml
@@ -8,7 +8,6 @@ linters:
     - dupl
     - errcheck
     - exhaustive
-    - gochecknoinits
     - goconst
     - gocritic
     - gocyclo
diff --git a/src/ansi/ansi_writer.go b/src/ansi/ansi_writer.go
index 487253b7..1180400f 100644
--- a/src/ansi/ansi_writer.go
+++ b/src/ansi/ansi_writer.go
@@ -9,7 +9,7 @@ import (
 	"github.com/mattn/go-runewidth"
 )
 
-func init() { //nolint:gochecknoinits
+func init() {
 	runewidth.DefaultCondition.EastAsianWidth = false
 }
 
diff --git a/src/cli/cache.go b/src/cli/cache.go
index 820b2c04..e29850f4 100644
--- a/src/cli/cache.go
+++ b/src/cli/cache.go
@@ -57,7 +57,7 @@ You can do the following:
 	},
 }
 
-func init() { //nolint:gochecknoinits
+func init() {
 	RootCmd.AddCommand(getCache)
 }
 
diff --git a/src/cli/config.go b/src/cli/config.go
index 560976ee..7b330c4e 100644
--- a/src/cli/config.go
+++ b/src/cli/config.go
@@ -39,6 +39,6 @@ You can export, migrate or edit the config.`,
 	},
 }
 
-func init() { //nolint:gochecknoinits
+func init() {
 	RootCmd.AddCommand(configCmd)
 }
diff --git a/src/cli/config_export.go b/src/cli/config_export.go
index 4cd756af..ab769f96 100644
--- a/src/cli/config_export.go
+++ b/src/cli/config_export.go
@@ -96,7 +96,7 @@ func cleanOutputPath(path string, env platform.Environment) string {
 	return filepath.Clean(path)
 }
 
-func init() { //nolint:gochecknoinits
+func init() {
 	exportCmd.Flags().StringVarP(&format, "format", "f", "json", "config format to migrate to")
 	exportCmd.Flags().StringVarP(&output, "output", "o", "", "config file to export to")
 	configCmd.AddCommand(exportCmd)
diff --git a/src/cli/config_export_image.go b/src/cli/config_export_image.go
index 56c3f56c..9e5becbd 100644
--- a/src/cli/config_export_image.go
+++ b/src/cli/config_export_image.go
@@ -106,7 +106,7 @@ Exports the config to an image file using customized output options.`,
 	},
 }
 
-func init() { //nolint:gochecknoinits
+func init() {
 	imageCmd.Flags().StringVar(&author, "author", "", "config author")
 	imageCmd.Flags().StringVar(&bgColor, "background-color", "", "image background color")
 	imageCmd.Flags().StringVarP(&outputImage, "output", "o", "", "image file (.png) to export to")
diff --git a/src/cli/config_migrate.go b/src/cli/config_migrate.go
index 2546deff..a01db01b 100644
--- a/src/cli/config_migrate.go
+++ b/src/cli/config_migrate.go
@@ -57,7 +57,7 @@ A backup of the current config can be found at ~/myconfig.omp.json.bak.`,
 	},
 }
 
-func init() { //nolint:gochecknoinits
+func init() {
 	migrateCmd.Flags().BoolVarP(&write, "write", "w", false, "write the migrated config back to the config file")
 	migrateCmd.Flags().StringVarP(&format, "format", "f", "json", "the config format to migrate to")
 	configCmd.AddCommand(migrateCmd)
diff --git a/src/cli/config_migrate_glyphs.go b/src/cli/config_migrate_glyphs.go
index d6530616..c43cbf70 100644
--- a/src/cli/config_migrate_glyphs.go
+++ b/src/cli/config_migrate_glyphs.go
@@ -59,7 +59,7 @@ A backup of the current config can be found at ~/myconfig.omp.json.bak.`,
 	},
 }
 
-func init() { //nolint:gochecknoinits
+func init() {
 	migrateGlyphsCmd.Flags().BoolVarP(&write, "write", "w", false, "write the migrated config back to the config file")
 	migrateGlyphsCmd.Flags().StringVarP(&format, "format", "f", "", "the config format to migrate to")
 	migrateCmd.AddCommand(migrateGlyphsCmd)
diff --git a/src/cli/debug.go b/src/cli/debug.go
index 30447b2f..475e2f4a 100644
--- a/src/cli/debug.go
+++ b/src/cli/debug.go
@@ -60,7 +60,7 @@ var debugCmd = &cobra.Command{
 	},
 }
 
-func init() { //nolint:gochecknoinits
+func init() {
 	debugCmd.Flags().StringVar(&pwd, "pwd", "", "current working directory")
 	debugCmd.Flags().StringVar(&shellName, "shell", "", "the shell to print for")
 	debugCmd.Flags().BoolVarP(&plain, "plain", "p", false, "plain text output (no ANSI)")
diff --git a/src/cli/disable.go b/src/cli/disable.go
index 47e3e3c2..a9ce42e7 100644
--- a/src/cli/disable.go
+++ b/src/cli/disable.go
@@ -22,6 +22,6 @@ var disableCmd = &cobra.Command{
 	},
 }
 
-func init() { //nolint:gochecknoinits
+func init() {
 	RootCmd.AddCommand(disableCmd)
 }
diff --git a/src/cli/enable.go b/src/cli/enable.go
index 02d66f75..684c5d19 100644
--- a/src/cli/enable.go
+++ b/src/cli/enable.go
@@ -37,7 +37,7 @@ var enableCmd = &cobra.Command{
 	},
 }
 
-func init() { //nolint:gochecknoinits
+func init() {
 	RootCmd.AddCommand(enableCmd)
 }
 
diff --git a/src/cli/font.go b/src/cli/font.go
index 62cd247b..39b387b9 100644
--- a/src/cli/font.go
+++ b/src/cli/font.go
@@ -65,7 +65,7 @@ This command is used to install fonts and configure the font in your terminal.
 	}
 )
 
-func init() { //nolint:gochecknoinits
+func init() {
 	RootCmd.AddCommand(fontCmd)
 	fontCmd.Flags().BoolVar(&user, "user", false, "install font as user")
 }
diff --git a/src/cli/get.go b/src/cli/get.go
index c244a22a..04ab9893 100644
--- a/src/cli/get.go
+++ b/src/cli/get.go
@@ -91,7 +91,7 @@ This command is used to get the value of the following variables:
 	},
 }
 
-func init() { //nolint:gochecknoinits
+func init() {
 	RootCmd.AddCommand(getCmd)
 	getCmd.Flags().StringVar(&shellName, "shell", "", "the shell to print for")
 }
diff --git a/src/cli/init.go b/src/cli/init.go
index a3cfcfbc..c9039189 100644
--- a/src/cli/init.go
+++ b/src/cli/init.go
@@ -44,7 +44,7 @@ See the documentation to initialize your shell: https://ohmyposh.dev/docs/instal
 	}
 )
 
-func init() { //nolint:gochecknoinits
+func init() {
 	initCmd.Flags().BoolVarP(&printOutput, "print", "p", false, "print the init script")
 	initCmd.Flags().BoolVarP(&strict, "strict", "s", false, "run in strict mode")
 	initCmd.Flags().BoolVarP(&manual, "manual", "m", false, "enable/disable manual mode")
diff --git a/src/cli/notice.go b/src/cli/notice.go
index dd6dac29..6b03828c 100644
--- a/src/cli/notice.go
+++ b/src/cli/notice.go
@@ -27,6 +27,6 @@ var noticeCmd = &cobra.Command{
 	},
 }
 
-func init() { //nolint:gochecknoinits
+func init() {
 	RootCmd.AddCommand(noticeCmd)
 }
diff --git a/src/cli/print.go b/src/cli/print.go
index ca2521e4..92df12a8 100644
--- a/src/cli/print.go
+++ b/src/cli/print.go
@@ -94,7 +94,7 @@ var printCmd = &cobra.Command{
 	},
 }
 
-func init() { //nolint:gochecknoinits
+func init() {
 	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")
diff --git a/src/cli/prompt.go b/src/cli/prompt.go
index 6bf80e63..e4c8c34e 100644
--- a/src/cli/prompt.go
+++ b/src/cli/prompt.go
@@ -15,7 +15,7 @@ var promptCmd = &cobra.Command{
 	},
 }
 
-func init() { //nolint:gochecknoinits
+func init() {
 	// legacy support
 	promptCmd.AddCommand(initCmd)
 	promptCmd.AddCommand(debugCmd)
diff --git a/src/cli/root.go b/src/cli/root.go
index 5660c3e6..54bb93ae 100644
--- a/src/cli/root.go
+++ b/src/cli/root.go
@@ -47,7 +47,7 @@ var (
 	initialize bool
 )
 
-func init() { //nolint:gochecknoinits
+func init() {
 	RootCmd.PersistentFlags().StringVarP(&config, "config", "c", "", "config file path")
 	RootCmd.Flags().BoolVarP(&initialize, "init", "i", false, "init (deprecated)")
 	RootCmd.Flags().BoolVar(&displayVersion, "version", false, "version")
diff --git a/src/cli/toggle.go b/src/cli/toggle.go
index 2de71091..ba39b59b 100644
--- a/src/cli/toggle.go
+++ b/src/cli/toggle.go
@@ -49,6 +49,6 @@ var toggleCmd = &cobra.Command{
 	},
 }
 
-func init() { //nolint:gochecknoinits
+func init() {
 	RootCmd.AddCommand(toggleCmd)
 }
diff --git a/src/cli/version.go b/src/cli/version.go
index ec230147..2b562df4 100644
--- a/src/cli/version.go
+++ b/src/cli/version.go
@@ -27,7 +27,7 @@ var versionCmd = &cobra.Command{
 	},
 }
 
-func init() { //nolint:gochecknoinits
+func init() {
 	versionCmd.Flags().BoolVarP(&verbose, "verbose", "v", false, "write verbose output")
 	RootCmd.AddCommand(versionCmd)
 }
diff --git a/src/engine/segment.go b/src/engine/segment.go
index 7be2413e..8c55a265 100644
--- a/src/engine/segment.go
+++ b/src/engine/segment.go
@@ -240,6 +240,8 @@ const (
 	SWIFT SegmentType = "swift"
 	// SYSTEMINFO writes system information (memory, cpu, load)
 	SYSTEMINFO SegmentType = "sysinfo"
+	// TALOSCTL writes the talosctl context
+	TALOSCTL SegmentType = "talosctl"
 	// TERRAFORM writes the terraform workspace we're currently in
 	TERRAFORM SegmentType = "terraform"
 	// TEXT writes a text
@@ -345,6 +347,7 @@ var Segments = map[SegmentType]func() SegmentWriter{
 	SVN:             func() SegmentWriter { return &segments.Svn{} },
 	SWIFT:           func() SegmentWriter { return &segments.Swift{} },
 	SYSTEMINFO:      func() SegmentWriter { return &segments.SystemInfo{} },
+	TALOSCTL:        func() SegmentWriter { return &segments.TalosCTL{} },
 	TERRAFORM:       func() SegmentWriter { return &segments.Terraform{} },
 	TEXT:            func() SegmentWriter { return &segments.Text{} },
 	TIME:            func() SegmentWriter { return &segments.Time{} },
diff --git a/src/segments/talosctl.go b/src/segments/talosctl.go
new file mode 100644
index 00000000..fe6d9fc5
--- /dev/null
+++ b/src/segments/talosctl.go
@@ -0,0 +1,56 @@
+package segments
+
+import (
+	"errors"
+	"path/filepath"
+
+	"github.com/jandedobbeleer/oh-my-posh/src/platform"
+	"github.com/jandedobbeleer/oh-my-posh/src/properties"
+	"gopkg.in/yaml.v3"
+)
+
+type TalosCTL struct {
+	props properties.Properties
+	env   platform.Environment
+
+	Context string `yaml:"context"`
+}
+
+func (t *TalosCTL) Template() string {
+	return " {{ .Context}} "
+}
+
+func (t *TalosCTL) Init(props properties.Properties, env platform.Environment) {
+	t.props = props
+	t.env = env
+}
+
+func (t *TalosCTL) Enabled() bool {
+	cfgDir := filepath.Join(t.env.Home(), ".talos")
+	configFile, err := t.getActiveConfig(cfgDir)
+	if err != nil {
+		t.env.Error(err)
+		return false
+	}
+
+	err = yaml.Unmarshal([]byte(configFile), t)
+	if err != nil {
+		t.env.Error(err)
+		return false
+	}
+
+	if len(t.Context) == 0 {
+		return false
+	}
+
+	return true
+}
+
+func (t *TalosCTL) getActiveConfig(cfgDir string) (string, error) {
+	activeConfigFile := filepath.Join(cfgDir, "config")
+	activeConfigData := t.env.FileContent(activeConfigFile)
+	if len(activeConfigData) == 0 {
+		return "", errors.New("NO ACTIVE CONFIG FOUND")
+	}
+	return activeConfigData, nil
+}
diff --git a/src/shell/scripts/omp.nu b/src/shell/scripts/omp.nu
index 15f17bc4..0bfba39b 100644
--- a/src/shell/scripts/omp.nu
+++ b/src/shell/scripts/omp.nu
@@ -23,12 +23,15 @@ $env.PROMPT_MULTILINE_INDICATOR = (^::OMP:: print secondary $"--config=($env.POS
 $env.PROMPT_COMMAND = { ||
     # hack to set the cursor line to 1 when the user clears the screen
     # this obviously isn't bulletproof, but it's a start
-    let clear = (history | is-empty) or ((history | last 1 | get 0.command) == "clear")
+    mut clear = false
+    if $nu.history-enabled {
+        $clear = (history | is-empty) or ((history | last 1 | get 0.command) == "clear")
+    }
 
     ^::OMP:: print primary $"--config=($env.POSH_THEME)" --shell=nu $"--shell-version=($env.POSH_SHELL_VERSION)" $"--execution-time=(posh_cmd_duration)" $"--status=($env.LAST_EXIT_CODE)" $"--terminal-width=(posh_width)" $"--cleared=($clear)"
 }
 
-$env.PROMPT_COMMAND_RIGHT = { ||    
+$env.PROMPT_COMMAND_RIGHT = { ||
     ^::OMP:: print right $"--config=($env.POSH_THEME)" --shell=nu $"--shell-version=($env.POSH_SHELL_VERSION)" $"--execution-time=(posh_cmd_duration)" $"--status=($env.LAST_EXIT_CODE)" $"--terminal-width=(posh_width)"
 }
 
diff --git a/themes/cloud-context.omp.json b/themes/cloud-context.omp.json
index d2bf2627..61acfd4f 100644
--- a/themes/cloud-context.omp.json
+++ b/themes/cloud-context.omp.json
@@ -12,6 +12,7 @@
     "error-text": "#242424",
     "git-text": "#238636",
     "kubernetes-text": "#FFBB00",
+    "talosctl-text": "#FF6C00",
     "symbol-color": "#ffffff",
     "timer-text": "#dd0033"
   },
@@ -39,6 +40,14 @@
           "template": "<p:symbol-color>\uf308</> {{.Context}}{{if .Namespace}} \uf061 {{.Namespace}}{{end}}",
           "type": "kubectl"
         },
+        {
+          "background": "p:background-color",
+          "foreground": "p:talosctl-text",
+          "style": "powerline",
+          "powerline_symbol": "\ue0b4",
+          "template": "<p:symbol-color>\udb84\udcfe</> {{.Context}}",
+          "type": "talosctl"
+        },
         {
           "background": "p:background-color",
           "foreground": "p:cloud-text-amazon",
diff --git a/themes/schema.json b/themes/schema.json
index 0d0853f6..f9e249b3 100644
--- a/themes/schema.json
+++ b/themes/schema.json
@@ -360,6 +360,7 @@
             "strava",
             "svn",
             "swift",
+            "talosctl",
             "time",
             "text",
             "terraform",
@@ -2779,6 +2780,19 @@
             }
           }
         },
+        {
+          "if": {
+            "properties": {
+              "type": {
+                "const": "talosctl"
+              }
+            }
+          },
+          "then": {
+            "title": "Talosctl Segment",
+            "description": "https://ohmyposh.dev/docs/segments/talosctl"
+          }
+        },
         {
           "if": {
             "properties": {
diff --git a/website/docs/installation/customize.mdx b/website/docs/installation/customize.mdx
index bc6317f1..c489c8a0 100644
--- a/website/docs/installation/customize.mdx
+++ b/website/docs/installation/customize.mdx
@@ -158,7 +158,7 @@ Once altered, reload your config for the changes to take effect.
 <TabItem value="nu">
 
 :::caution
-Oh My Posh requires Nushell v0.86.0 or higher.
+Oh My Posh requires Nushell v0.93.0 or higher.
 :::
 
 Adjust the Oh My Posh init line in the Nushell env file (`$nu.env-path`) by adding the `--config` flag
diff --git a/website/docs/installation/prompt.mdx b/website/docs/installation/prompt.mdx
index 777e00ab..986bf3a3 100644
--- a/website/docs/installation/prompt.mdx
+++ b/website/docs/installation/prompt.mdx
@@ -104,7 +104,7 @@ exec fish
 <TabItem value="nu">
 
 :::caution
-Oh My Posh requires Nushell v0.86.0 or higher.
+Oh My Posh requires Nushell v0.93.0 or higher.
 :::
 
 Add the following line to the Nushell env file (`$nu.env-path`):
diff --git a/website/docs/segments/talosctl.mdx b/website/docs/segments/talosctl.mdx
new file mode 100644
index 00000000..0c2f4bcc
--- /dev/null
+++ b/website/docs/segments/talosctl.mdx
@@ -0,0 +1,47 @@
+---
+id: talosctl
+title: Talosctl Context
+sidebar_label: Talosctl
+---
+
+## What
+
+Displays the currently active Talosctl context name.
+
+This segment leverages the `.talos/config` file generated by the [Talosctl CLI][talosctl].
+The CLI docs can be found by going to Documentation > Reference > CLI.
+For example, [v1.7 CLI][CLI].
+
+## Sample Configuration
+
+import Config from '@site/src/components/Config.js';
+
+<Config data={{
+  "type": "talosctl",
+  "style": "powerline",
+  "powerline_symbol": "\uE0B0",
+  "foreground": "#FFFFFF",
+  "background": "#FF6C00",
+  "template": " \udb84\udcfe {{ .Context }}"
+}}/>
+
+## Template ([info][templates])
+
+:::note default template
+
+```template
+{{ .Context }}
+```
+
+:::
+
+### Properties
+
+| Name         | Type     | Description                           |
+| ------------ | -------- | ------------------------------------- |
+| `.Context`   | `string` | the current talosctl context           |
+
+
+[templates]: /docs/configuration/templates
+[talosctl]: https://www.talos.dev/
+[CLI]: https://www.talos.dev/v1.7/reference/cli/
diff --git a/website/sidebars.js b/website/sidebars.js
index 51ea96e6..870214be 100644
--- a/website/sidebars.js
+++ b/website/sidebars.js
@@ -123,6 +123,7 @@ module.exports = {
         "segments/svn",
         "segments/swift",
         "segments/sysinfo",
+        "segments/talosctl",
         "segments/terraform",
         "segments/text",
         "segments/time",


Test patch:
diff --git a/src/segments/talosctl_test.go b/src/segments/talosctl_test.go
new file mode 100644
index 00000000..5c565835
--- /dev/null
+++ b/src/segments/talosctl_test.go
@@ -0,0 +1,95 @@
+package segments
+
+import (
+	"path/filepath"
+	"testing"
+
+	"github.com/jandedobbeleer/oh-my-posh/src/mock"
+	"github.com/stretchr/testify/assert"
+	mock2 "github.com/stretchr/testify/mock"
+)
+
+func TestTalosctlSegment(t *testing.T) {
+	cases := []struct {
+		Case            string
+		ActiveConfig    string
+		ExpectedEnabled bool
+		ExpectedString  string
+	}{
+		{
+			Case:            "happy path",
+			ExpectedEnabled: true,
+			ActiveConfig:    "context: context-name",
+			ExpectedString:  "context-name",
+		},
+		{
+			Case:            "no active config",
+			ExpectedEnabled: false,
+		},
+		{
+			Case:            "empty config",
+			ActiveConfig:    "",
+			ExpectedEnabled: false,
+		},
+		{
+			Case:            "bad config",
+			ActiveConfig:    "other-yaml: not-expected",
+			ExpectedEnabled: false,
+		},
+	}
+
+	for _, tc := range cases {
+		env := new(mock.MockedEnvironment)
+		env.On("Home").Return("home")
+		fcPath := filepath.Join("home", ".talos", "config")
+		env.On("FileContent", fcPath).Return(tc.ActiveConfig)
+		env.On("Error", mock2.Anything).Return()
+		talos := TalosCTL{
+			env: env,
+		}
+		talos.Enabled()
+		assert.Equal(t, tc.ExpectedEnabled, talos.Enabled())
+		if tc.ExpectedEnabled {
+			assert.Equal(t, tc.ExpectedString, renderTemplate(env, talos.Template(), talos), tc.Case)
+		}
+	}
+}
+
+func TestGetTalosctlActiveConfig(t *testing.T) {
+	cases := []struct {
+		Case           string
+		ActiveConfig   string
+		ExpectedString string
+		ExpectedError  string
+	}{
+		{
+			Case:           "happy path",
+			ActiveConfig:   "context: context-name",
+			ExpectedString: "context: context-name",
+		},
+		{
+			Case:          "no active config",
+			ActiveConfig:  "",
+			ExpectedError: "NO ACTIVE CONFIG FOUND",
+		},
+	}
+
+	for _, tc := range cases {
+		env := new(mock.MockedEnvironment)
+		env.On("Home").Return("home")
+		configPath := filepath.Join("home", ".talos")
+		contentPath := filepath.Join(configPath, "config")
+		env.On("FileContent", contentPath).Return(tc.ActiveConfig)
+		env.On("Error", mock2.Anything).Return()
+		talos := TalosCTL{
+			env: env,
+		}
+		got, err := talos.getActiveConfig(configPath)
+		assert.Equal(t, tc.ExpectedString, got, tc.Case)
+		if len(tc.ExpectedError) > 0 {
+			assert.EqualError(t, err, tc.ExpectedError, tc.Case)
+		} else {
+			assert.NoError(t, err, tc.Case)
+		}
+	}
+}