Fastfetch is a maintained, feature-rich, and performance-oriented system information tool. It is an alternative to neofetch-7.1.0 and written in C.
yyjson (or a vendored copy is used)
Vulkan-Loader, Vulkan-Headers, libxcb, Xorg Libraries, Wayland, GLib, ImageMagick, Chafa, D-Bus, Lua, libva, Libdrm, DConf, OpenGL (libglvnd or Mesa; Mesa's GL is not supported), OpenCL-SDK, Xfconf, PulseAudio, ddcutil, DirectX-Headers, EFL, libvdpau, and QuickJS
Install fastfetch by running the following commands:
mkdir build &&
cd build &&
cmake -D CMAKE_INSTALL_PREFIX=/usr \
-D CMAKE_BUILD_TYPE=Release \
-D BUILD_FLASHFETCH=OFF \
-D ENABLE_SYSTEM_YYJSON=ON \
-D PACKAGES_REMOVE_DISABLED=ON \
-D PACKAGES_DISABLE_CHOCO=ON \
-D PACKAGES_DISABLE_MACPORTS=ON \
-D PACKAGES_DISABLE_SCOOP=ON \
-D PACKAGES_DISABLE_WINGET=ON \
.. &&
make
Now, as the root user:
make install
-D CMAKE_BUILD_TYPE=Release: This switch enables
compiler optimizations in order to speed up the code and reduce its size.
It also disables some compile checks which are not necessary on a
production system.
-D BUILD_FLASHFETCH=OFF: This switch disables
building the historical flashfetch binary. If you need it for any reason,
set this switch to ON.
-D ENABLE_SYSTEM_YYJSON=ON: This switch tells the
build system to link against the system install of yyjson instead of the
vendored copy. If you wish to use the vendored yyjson, set this switch to
OFF.
-D PACKAGES_REMOVE_DISABLED=ON: This switch
removes detection code for disabled package managers, marginally reducing
binary size.
-D PACKAGES_DISABLE_*=ON: This switch disables
detection for various package managers. While there are more available
package managers, only the ones that don't support Linux have been
disabled. If you'd like to support these package managers, set their
switches to OFF.
-D ENABLE_{LUA,QUICKJS}=OFF: Pass this switch if
you have one of these scripting languages installed and wish to disable
their use for format strings.