diff --git a/neofetch b/neofetch index 2abe24d8..1191a2a5 100755 --- a/neofetch +++ b/neofetch @@ -1409,7 +1409,21 @@ getmemory () { ;; "BSD") - memtotal=$(($(sysctl -n hw.physmem) / 1000)) + case "$distro" in + "OpenBSD"*) + memtotal=$(top -d 1 | awk -F ': |/| |M' '/Memory:/ {printf $4}') + ;; + + "FreeBSD"* | "DragonFly"*) + memtotal=$(dmesg | awk -F '\\(| ' '/real mem/ {printf $7}') + ;; + + "NetBSD"*) + memtotal=$(awk -F ':|kB' '/MemTotal:/ {printf $2}' /proc/meminfo) + memtotal=$((memtotal / 1024)) + ;; + esac + memfree=$(($(vmstat | awk 'END{printf $4}') / 1000)) memused=$((memtotal - ${memfree/M})) ;;