--- /dev/null
+#!/bin/sh
+#
+# ufetch-debian - tiny system info for debian
+
+## INFO
+
+# user is already defined
+hostname="$(hostname)"
+os="Debian $(cat /etc/debian_version)"
+host="$(cat /sys/devices/virtual/dmi/id/product_name) $(cat /sys/devices/virtual/dmi/id/product_family)"
+kernel="$(uname -sr)"
+uptime="$(uptime -p | sed 's/up //')"
+packages="$(dpkg -l | grep -c ^i)"
+shell="$(basename "${SHELL}")"
+term="$TERM"
+
+## UI DETECTION
+
+parse_rcs() {
+ for f in "${@}"; do
+ wm="$(tail -n 1 "${f}" 2> /dev/null | cut -d ' ' -f 2)"
+ [ -n "${wm}" ] && echo "${wm}" && return
+ done
+}
+
+rcwm="$(parse_rcs "${HOME}/.xinitrc" "${HOME}/.xsession")"
+
+ui='unknown'
+uitype='UI'
+if [ -n "${DE}" ]; then
+ ui="${DE}"
+ uitype='DE'
+elif [ -n "${WM}" ]; then
+ ui="${WM}"
+ uitype='WM'
+elif [ -n "${XDG_CURRENT_DESKTOP}" ]; then
+ ui="${XDG_CURRENT_DESKTOP}"
+ uitype='DE'
+elif [ -n "${DESKTOP_SESSION}" ]; then
+ ui="${DESKTOP_SESSION}"
+ uitype='DE'
+elif [ -n "${rcwm}" ]; then
+ ui="${rcwm}"
+ uitype='WM'
+elif [ -n "${XDG_SESSION_TYPE}" ]; then
+ ui="${XDG_SESSION_TYPE}"
+fi
+
+ui="$(basename "${ui}")"
+
+## DEFINE COLORS
+
+# probably don't change these
+if [ -x "$(command -v tput)" ]; then
+ bold="$(tput bold)"
+ black="$(tput setaf 0)"
+ red="$(tput setaf 1)"
+ green="$(tput setaf 2)"
+ yellow="$(tput setaf 3)"
+ blue="$(tput setaf 4)"
+ magenta="$(tput setaf 5)"
+ cyan="$(tput setaf 6)"
+ white="$(tput setaf 7)"
+ reset="$(tput sgr0)"
+fi
+
+# you can change these
+lc="${reset}${bold}${red}" # labels
+nc="${reset}${bold}${white}" # user and hostname
+ic="${reset}" # info
+c0="${reset}${red}" # first color
+
+cat <<EOF
+${c0} ${nc}${USER}${ic}@${nc}${hostname}${reset}
+${c0} ,---._ ${lc}OS: ${ic}${os}${reset}
+${c0} /\` __ \\ ${lc}KERNEL: ${ic}${kernel}${reset}
+${c0} | / | ${lc}HOST: ${ic}${host}${reset}
+${c0} | ${c1}\`.__.\` ${lc}UPTIME: ${ic}${uptime}${reset}
+${c0} \ ${lc}PACKAGES: ${ic}${packages}${reset}
+${c0} \`-,_ ${lc}${uitype}: ${ic}${ui}${reset}
+${c0} ${lc}TERM: ${ic}${term}${reset}
+
+EOF