Shell prompt segments in Go
2b7b889b — Francesco Camuffo 3 months ago
README.md: go install
b55523c4 — Francesco Camuffo 3 months ago
mv corylus/main.go out of cmd/
79ce5d10 — Francesco Camuffo 6 months ago
Move generators into seg package



You can also use your local clone with git send-email.


Simple shell prompt generator in Go.


Corylus expects strings as arguments.

If an argument matches the name of a known segment generator, then the result will be appended.

If an argument does not match any generator then it is appended as string.

Edit the prompt variable in your shell configuration file, probably .bashrc, .zshrc or .profile.

For ZSH you may need to enable the prompt expansion by adding setopt PROMPT_SUBST to your .zshrc.

At the moment the available segments are:

  • cwd
  • cwd-count
  • hostname
  • tail
  • time-unix
  • username

Here is an example with some colors.

PS1='$(corylus \
	"[" hostname "] " \
	"\033[34m" username "\033[0m " \
	"\033[31m $? \033[0m " \
	"\033[35m" cwd "\033[0m " \
	"[" cwd-count " files] " \
	"[" time-unix "]" \

Which outputs with this format:

[maze] fmac  0  ~/r/c/.git [13 files] [1620754137]


go install git.sr.ht/~fmac/corylus@latest


Of course you are free to send me a git-email with a patch that adds new segments.