Skip to content

Gur0v/zeptofetch

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

200 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

zeptofetch

zeptofetch v2.0

A system information tool for Linux. Written in C, no dependencies, runs in under 1ms.

Benchmarks

Tested with hyperfine.

Tool Mean Binary
zeptofetch 506.9 µs ± 53.3 µs 32 KB
fastfetch 5.6 ms ± 0.4 ms ~200 KB
neofetch 194.3 ms ± 24.8 ms ~50 KB
Test system
CPU AMD Ryzen 5 5600 (12) @ 4.47 GHz
RAM 32 GB (31.26 GiB)
Kernel 7.0.14-lqx2-2-lqx
OS Artix Linux
Desktop Sway 1.12 (Wayland)

Run locally with:

make clean && make NATIVE=-march=native
hyperfine -N --warmup 5 ./zeptofetch

Results vary by system.

Installation

From source:

git clone https://gitlab.archlinux.org/gurov/zeptofetch.git
cd zeptofetch
make NATIVE=-march=native
sudo make install

AUR:

paru -S zeptofetch      # stable
paru -S zeptofetch-git  # git HEAD

How it works

Shell: walks /proc/[pid]/exe up the process tree. Falls back to $SHELL.

Terminal: checks common terminal env hints, then walks the process tree while skipping shells/wrappers.

WM: checks compositor env hints, then scans numeric /proc entries against a known list.

OS: reads PRETTY_NAME from /etc/os-release or /usr/lib/os-release, falls back to NAME, then "Linux".

WSL2: checked via WSLENV, /mnt/wsl, binfmt_misc, and kernel version strings.

Privileges: PR_SET_NO_NEW_PRIVS and PR_SET_DUMPABLE set at startup. RLIMIT_AS, RLIMIT_CPU, RLIMIT_NOFILE, and RLIMIT_CORE enforced.

Requirements

  • Linux x86_64, kernel 2.6.32+
  • glibc, musl, or compatible
  • GCC or Clang

WSL2 support is limited. BSD, macOS, and Termux are not supported.

License

GPL-3.0

About

🐧 Blazingly fast, ultra-minimal system information tool for Linux.

Resources

License

Stars

18 stars

Watchers

1 watching

Forks

Packages

 
 
 

Contributors