33 lines
847 B
Bash
Executable file
33 lines
847 B
Bash
Executable file
#!/usr/bin/env zsh
|
|
|
|
distro=$(cat /etc/os-release | grep -w 'ID=.*' | sed -e 's/ID=//g' | awk '{print $1}')
|
|
case "$distro" in
|
|
"debian") dicon="%F{red}%f" ;;
|
|
"gentoo") dicon="%F{magenta}%f" ;;
|
|
"\"opensuse-tumbleweed\"") dicon="%F{green} %f" ;;
|
|
"nixos") dicon="%F{cyan}%f" ;;
|
|
*) dicon="%F{yellow}[]%f" ;;
|
|
esac
|
|
|
|
if [ -n "$IN_NIX_SHELL" ]; then
|
|
if [ -z "$NIX_SHELL_PACKAGES" ]; then
|
|
nix_shell_ps1=" %F{red}nix-shell%f"
|
|
else
|
|
nix_shell_ps1=" %F{red}{ $NIX_SHELL_PACKAGES }%f"
|
|
fi
|
|
else
|
|
nix_shell_ps1=""
|
|
fi
|
|
|
|
if [ -n "$CONTAINER_ID" ]; then
|
|
dicon="%F{bg-yellow}[ $CONTAINER_ID]%f"
|
|
fi
|
|
|
|
setopt prompt_subst
|
|
autoload -Uz vcs_info
|
|
precmd () { vcs_info }
|
|
zstyle ':vcs_info:*' formats ' %F{yellow}(%b)%f'
|
|
|
|
NL=$'\n'
|
|
export PS1='[$dicon %F{green}%3~%f$vcs_info_msg_0_$nix_shell_ps1]# '
|
|
|