zfetch (2508B)
1 #!/bin/sh 2 3 get_system() { 4 . /etc/os-release 5 echo "$PRETTY_NAME" 6 } 7 8 get_pkgs() { 9 echo $(pacman -Qq | wc -l) 10 } 11 12 get_mem() { 13 mem_total=$(grep MemTotal /proc/meminfo | awk '{print $2}') 14 mem_available=$(grep MemAvailable /proc/meminfo | awk '{print $2}') 15 mem_used=$((mem_total - mem_available)) 16 17 total_mib=$((mem_total / 1024)) 18 used_mib=$((mem_used / 1024)) 19 echo "${used_mib} MiB / ${total_mib} MiB" 20 } 21 22 get_cpu () { 23 model=$(grep "model name" /proc/cpuinfo | head -1 | cut -d':' -f2 | sed 's/^[ \t]*//') 24 echo "$model" 25 } 26 27 get_init() { 28 if [ -f /proc/1/comm ]; then 29 local init_name=$(cat /proc/1/comm) 30 case "$init_name" in 31 systemd) echo "systemd" ;; 32 init) echo "sysvinit" ;; 33 upstart) echo "upstart" ;; 34 openrc) echo "openrc" ;; 35 runit) echo "runit" ;; 36 s6) echo "s6" ;; 37 *) echo "unknown ($init_name)" ;; 38 esac 39 else 40 echo "unknown" 41 fi 42 } 43 44 get_env() { 45 if command -v wmctrl &> /dev/null; then 46 local wm_name=$(wmctrl -m 2>/dev/null | grep "Name:" | awk '{print $2}') 47 if [ -n "$wm_name" ]; then 48 echo "$wm_name" 49 return 50 fi 51 fi 52 } 53 54 get_disk() { 55 echo "$(basename $(lsblk -no PKNAME $(findmnt -no SOURCE /)))" 56 } 57 58 get_part_size() { 59 used=$(df -h $1 | awk 'NR==2 {print $3}') 60 total=$(df -h $1 | awk 'NR==2 {print $2}') 61 62 echo "$used / $total" 63 } 64 65 get_disk_size() { 66 disk=$(get_disk) 67 68 used=$(df -h / | awk 'NR==2 {print $3}') 69 total=$(lsblk -dno SIZE /dev/"$disk") 70 71 echo "$total" 72 } 73 74 get_root_size() { 75 echo "$(get_part_size /)" 76 } 77 78 get_home_size() { 79 echo "$(get_part_size /home)" 80 } 81 82 user=$USER 83 sysname=$(uname -n) 84 os=$(get_system) 85 cputype=$(uname -m) 86 pkgs=$(get_pkgs) 87 mem=$(get_mem) 88 cpu=$(get_cpu) 89 init=$(get_init) 90 sh=$(basename $SHELL) 91 env=$(get_env) 92 disk=$(get_disk) 93 storage=$(get_disk_size) 94 storage_root=$(get_root_size) 95 storage_home=$(get_home_size) 96 97 echo " $user@$sysname" 98 echo " -------------" 99 echo " (\\(\\ os -> $os $cputype" 100 echo " j\". .. pkg -> $pkgs" 101 echo " ( . .) ram -> $mem" 102 echo " | ° | cpu -> $cpu" 103 echo " ¿ ; init -> $init" 104 echo " c?\".UJ sh -> $sh" 105 echo " env -> $env" 106 echo " $disk -> $storage" 107 108 # echo " " 109 # echo " _ " 110 # echo " | | " 111 # echo " | | " 112 # echo " | |___ " 113 # echo " |_____| " 114 # echo " " 115 # echo " " 116 117 # echo " root: $storage_root" 118 # echo " /home: $storage_home"