Navigate:
Fastfetch
~$FASTF1.3%

Fastfetch: Neofetch-like system information tool

High-performance CLI system information display written in C.

LIVE RANKINGS • 10:45 AM • STEADY
TOP 50TOP 50TOP 50TOP 50TOP 50TOP 50TOP 50TOP 50TOP 50TOP 50TOP 50TOP 50
OVERALL
#42
11
DEVELOPER TOOLS
#9
30 DAY RANKING TREND
ovr#42
·Devel#9
STARS
20.4K
FORKS
701
7D STARS
+256
7D FORKS
+17
See Repo:
Share:

Learn more about Fastfetch

Fastfetch is a command-line system information tool written in C that queries and displays hardware and software configuration details similar to Neofetch but with significantly faster execution times. The tool works by directly interfacing with operating system APIs and reading system files to collect data about components including CPU, GPU, memory, kernel version, desktop environment, and various other system attributes. It supports extensive customization through configuration files and command-line flags that control which modules are displayed, how data is formatted using template strings with positional placeholders, and how the ASCII logo and color scheme are rendered. The architecture prioritizes minimal dependencies and efficient system calls to achieve sub-millisecond execution on most platforms, making it suitable for shell prompts and frequent invocations. Cross-platform compatibility is achieved through platform-specific detection code paths that handle differences between Linux, macOS, Windows, and BSD systems.

Fastfetch

1

C-based implementation

Written primarily in C rather than shell scripts, allowing for direct system calls and reduced interpreter overhead. This architectural choice affects startup time and resource consumption compared to script-based alternatives.

2

Multi-platform support

Supports a broad range of operating systems including Linux distributions, macOS, Windows 7 and later, BSD variants (FreeBSD, OpenBSD, NetBSD, DragonFly), Android, Haiku, and SunOS. Platform-specific code paths handle differences in system information retrieval across these environments.

3

Configuration-driven output

Provides preset configuration files that control which system information is displayed and how it is formatted. Users can customize the tool's behavior through configuration files rather than command-line flags alone, enabling complex display layouts.


#include <fastfetch/fastfetch.h>

int main() {
    FFdata data;
    ffInitData(&data);
    
    // Get CPU information
    FFCPUResult cpu;
    ffDetectCPU(&data, &cpu);
    printf("CPU: %s\n", cpu.name.chars);
    
    ffCleanupData(&data);
    return 0;
}

v2.58.0

Fixes compatibility issues with KDE Plasma 6.6 and removes slow version detection option

  • The de.slowVersionDetection option has been removed. Slow version detection is now always enabled, as required on non-FHS-compliant distros
  • One can still disable the version detection feature with general.detectVersion: false
  • Adds the --structure-disabled <modules...> command-line flag to temporarily disable module structure printing
  • Supports chassis type detection on Linux ARM devices when reported via the device tree
v2.57.1

Focuses on compilation fixes across platforms and minor performance improvements

  • Tiny performance improvements (Windows)
  • Improves the reliability of hostname retrieval (Title, Windows)
  • Fixes potential compilation issues on Linux
  • Fixes compilation errors on macOS when building with older SDKs
  • Fixes compilation issues when building with -DENABLESYSTEMYYJSON=ON
v2.57.0

Adds COSMIC DE support and various terminal detection improvements

  • The ENABLEWIN7COMPAT CMake option and the -win7 variant binaries are planned to be removed in 2.60.0
  • Supports COSMIC DE version detection
  • Supports niri version detection
  • Supports cosmic-term version and terminal font detection
  • Supports urxvt font detection


[ EXPLORE MORE ]

Related Repositories

Discover similar tools and frameworks used by developers