dotfiles

dotfiles for my system
git clone git://git.evenfri.xyz/dotfiles.git
Log | Files | Refs

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"