#!/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]# '

