By default, nushell's prompt shows your working directory on the left, and the date & time on the right. It looks like this:
As someone who was trying nu after using zsh for a long time, I wanted to replicate my old prompt, which showed me my working directory, current kubernetes cluster, and current k8s namespace:
Nushell configures your prompt in its environment script ($nu.env-path
). If you open this file you will see two functions at the very top, create_left_prompt
and create_right_prompt
. you can see the default implementation for the date
def create_right_prompt [] {
let time_segment = ([
(date now | date format '%m/%d/%Y %r')
] | str join)
$time_segment
}
I created a new function for my k8s prompt. I liked having the time on the prompt, so I left that (thought I didn't feel like I needed the date).
def kube_prompt [] {
let k_prompt = ([(kubectl ctx -c), (kubectl ns -c)] | str trim | str join '/')
let d_prompt = ([(date now | date format '%r')] | str join)
$"\(($k_prompt)\) ($d_prompt)"
}
Just below, we can edit the let-env PROMPT_COMMAND_RIGHT
to look like:
let-env PROMPT_COMMAND_RIGHT = { kube_prompt }
Restarting your shell and you will see the new prompt
Top comments (0)