83 lines
2.4 KiB
Bash
Executable File
83 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/conf.d/hostname | awk -F'"' '{ printf $2 }')"
|
|
machine="$(cat /sys/devices/virtual/dmi/id/product_version)"
|
|
os='Gentoo'
|
|
kernel="$(uname -sr)"
|
|
uptime="$(uptime -p | sed 's/up //')"
|
|
packages="$(printf '%s\n' /var/db/pkg/*/* | wc -l)"
|
|
shell="$(basename "$SHELL")"
|
|
wm="$(tail -n 1 "$XDG_CONFIG_HOME/X11/xinitrc" | cut -d ' ' -f 2)"
|
|
|
|
# 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 15)"
|
|
reset="$(tput sgr0)"
|
|
fi
|
|
|
|
# you can change these
|
|
lc="${reset}${magenta}" # labels
|
|
nc="${bold}${magenta}" # user and hostname
|
|
ic="${reset}${white}" # info
|
|
a0="${bold}${magenta}" # first arch color
|
|
a1="${bold}${white}" # second arch color
|
|
|
|
cat <<EOF
|
|
${a0} ${nc}${USER}${ic}@${nc}${host}
|
|
${a0} _-----_ ${lc}machine: ${ic}${machine}
|
|
${a0} ( \\ ${lc}os: ${ic}${os}
|
|
${a0} \\ 0 \\ ${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
|