#!/bin/sh
#
# ufetch-nixos - tiny system info for nixos
#

## INFO

# user is already defined
host="$(hostname)"
os="$(nixos-version)"
kernel="$(uname -sr)"
uptime="$(uptime -p | sed 's/up //')"
packages="$(ls -d -1 /nix/store/* | wc -l)"
shell="$(basename ${SHELL})"
if [ -z "${WM}" ]; then
	WM="$(tail -n 1 "${HOME}/.xinitrc" | cut -d ' ' -f 2)"
fi

## DEFINE COLORS

# probably don't change these
bc="$(tput bold)"		# bold
c0="$(tput setaf 0)"	# black
c1="$(tput setaf 1)"	# red
c2="$(tput setaf 2)"	# green
c3="$(tput setaf 3)"	# yellow
c4="$(tput setaf 4)"	# blue
c5="$(tput setaf 5)"	# magenta
c6="$(tput setaf 6)"	# cyan
c7="$(tput setaf 7)"	# white
rc="$(tput sgr0)"		# reset

# you can change these
lc="${rc}${bc}${c4}"	# labels
nc="${rc}${bc}${c4}"	# user and hostname
ic="${rc}${bc}${c7}"	# info
fc="${rc}${c4}"			# first color
sc="${rc}${bc}${c4}"	# second color

## OUTPUT

sed 's/\\/\\\\/g' <<EOF

${fc}    \\  ${sc}\\ //    ${nc}${USER}${ic}@${rc}${nc}${host}${rc}
${fc}   ==\\__${sc}\\/ ${fc}//  ${lc}OS:        ${ic}${os}${rc}
${sc}     //   \\${fc}//   ${lc}KERNEL:    ${ic}${kernel}${rc}
${sc}  ==//     ${fc}//==  ${lc}UPTIME:    ${ic}${uptime}${rc}
${sc}   //${fc}\\${sc}___${fc}//     ${lc}PACKAGES:  ${ic}${packages}${rc}
${sc}  // ${fc}/\\  ${sc}\\==   ${lc}SHELL:     ${ic}${shell}${rc}
${fc}    // \\  ${sc}\\    ${lc}WM:        ${ic}${WM}${rc}

EOF
