pushall script
[dotfiles.git] / Scripts / ufetch-gentoo
diff --git a/Scripts/ufetch-gentoo b/Scripts/ufetch-gentoo
new file mode 100755 (executable)
index 0000000..0825eb4
--- /dev/null
@@ -0,0 +1,87 @@
+#!/bin/sh
+#
+# ufetch-gentoo - tiny system info for gentoo
+
+## INFO
+
+# user is already defined
+hostname="$(hostname)"
+os='Gentoo Linux'
+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="$(ls -d /var/db/pkg/*/* | wc -l)"
+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}${magenta}"      # labels
+nc="${reset}${bold}${white}"      # user and hostname
+ic="${reset}"                       # info
+c0="${reset}${bold}${magenta}"      # first color
+c1="${reset}${magenta}"             # second color
+
+## OUTPUT
+
+cat <<EOF
+
+                 ${nc}${USER}${ic}@${nc}${hostname}${reset}
+${c0}    .-----.      ${lc}OS:        ${ic}${os}${reset}
+${c0}  .\`    _  \`.    ${lc}KERNEL:    ${ic}${kernel}${reset}
+${c0}  \`.   (${c1}_)   ${c0}\`.  ${lc}HOST:      ${ic}${host}${reset}  
+${c0}    \`${c1}.        /  ${lc}UPTIME:    ${ic}${uptime}${reset}
+${c1}   .\`       .\`   ${lc}PACKAGES:  ${ic}${packages}${reset}
+${c1}  /       .\`     ${lc}${uitype}:        ${ic}${ui}${reset}
+${c1}  \____.-\`       ${lc}TERM:      ${ic}${term}${reset}
+
+EOF