82 lines
2.4 KiB
Bash
Executable File
82 lines
2.4 KiB
Bash
Executable File
#!/usr/bin/env sh
|
|
|
|
######################################################################
|
|
# @author : swytch (adapated from github.com/jschx/ufetch)
|
|
# @file : fetch
|
|
# @license : GPLv3
|
|
# @created : Wednesday May 20, 2020 18:16:09 CEST
|
|
#
|
|
# @description : display system infos
|
|
######################################################################
|
|
|
|
|
|
## INFO
|
|
|
|
# $USER is already defined
|
|
host="$(cat /etc/hostname)"
|
|
cpu="$(grep "name" /proc/cpuinfo | uniq | sed -e 's/.*: //' -e 's/ .-Core.*//')"
|
|
os="Gentoo"
|
|
kernel="$(uname -sr)"
|
|
uptime="$(uptime -p | sed 's/up //')"
|
|
packages="$(dpkg-query -f '.\n' -W | wc -l)"
|
|
shell="$($SHELL --version | sed -e 's/(.*)//')"
|
|
wm="$(tail -n 1 "$XDG_CONFIG_HOME/X11/xinitrc" | rev | cut -d ' ' -f 1 | rev)"
|
|
|
|
# parse the '/proc/meminfo' file splitting on ':' and 'k'.
|
|
# the format of the file is 'key: 000kB' and an additional
|
|
# split is used on 'k' to filter out 'kB'.
|
|
while IFS=':k ' read -r key val _; do
|
|
case $key in
|
|
# MemUsed = MemTotal + Shmem - MemFree - Buffers - Cached - SReclaimable
|
|
MemTotal)
|
|
mem_used=$((mem_used + val))
|
|
mem_total=$val
|
|
;;
|
|
|
|
Shmem)
|
|
mem_used=$((mem_used + val))
|
|
;;
|
|
|
|
MemFree|Buffers|Cached|SReclaimable)
|
|
mem_used=$((mem_used - val))
|
|
;;
|
|
esac
|
|
done < /proc/meminfo
|
|
|
|
mem_used=$((mem_used / 1024))
|
|
mem_total=$((mem_total / 1024))
|
|
|
|
# set colors
|
|
if [ -x "$(command -v tput)" ]; then
|
|
bold="$(tput bold)"
|
|
black="$(tput setaf 0)"
|
|
red="$(tput setaf 1)"
|
|
green="$(tput setaf 2)"
|
|
orange="$(tput setaf 3)"
|
|
yellow="$(tput setaf 11)"
|
|
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="${bold}${red}" # labels
|
|
nc="${bold}${red}" # user and hostname
|
|
ic="${reset}${white}" # info
|
|
a0="${reset}${red}" # first logo color
|
|
a1="${reset}${white}" # second logo color
|
|
|
|
cat <<EOF
|
|
${a0} ${nc}${USER}${ic}@${nc}${host}
|
|
${a0} _____ ${lc}cpu: ${ic}${cpu}
|
|
${a0} / __ \\ ${lc}os: ${ic}${os}
|
|
${a0} | / | ${lc}kernel: ${ic}${kernel}
|
|
${a1} | \\___- ${lc}shell: ${ic}${shell}
|
|
${a1} -_ ${lc}wm: ${ic}${wm}
|
|
${a1} --_ ${lc}uptime: ${ic}${uptime}
|
|
${a1} ${lc}packages: ${ic}${packages}
|
|
${lc}memory: ${ic}${mem_used}MiB/${mem_total}MiB
|
|
EOF
|