A donut.c inspired fetch tool that spins your distro logo in 3D with system info updating in real time. Takes any ASCII logo, turns each character into a point cloud based on its visual density, and renders it as a rotating 3D relief with Blinn-Phong shading. Single file C, no deps beyond libm.
make ./fetch
Press any key to stop. The keypress passes through to the shell so it works as a startup fetch. Ctrl-C works too.
# from source make sudo make install # arch (AUR) yay -S fetch-git # gentoo (GURU) eselect repository enable guru emaint sync -r guru emerge -a app-misc/fetch # homebrew brew tap areofyl/fetch brew install fetch-git
Auto detects your distro and grabs the logo from fastfetch if installed, with original colors preserved. Works with any of fastfetch's 500+ logos. You can also specify one directly:
./fetch -l arch ./fetch -l NixOS ./fetch -l asahi
Or drop a custom logo in ~/.config/fetch/logo.txt. Without fastfetch the built-in Gentoo logo is used.
All info is gathered natively, no fastfetch or neofetch needed. OS, host, kernel, uptime, packages, shell, display, WM, theme, CPU, GPU, memory, swap, disk, battery, local IP. Stats like memory, battery, and uptime update in real time while the logo spins.
Each character in the logo gets a weight based on its visual density. M is heavy, dots and dashes are light. That weight becomes a height, turning the flat logo into a 3D relief. Surface normals come from the height gradient, and everything gets rotated, projected, and shaded every frame with a z-buffer.