Fastfetch: Neofetch-like system information tool
High-performance CLI system information display written in C.
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.
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.
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.
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;
}An early release to fix compatibility issues with KDE Plasma 6.6.
- –The `de.slowVersionDetection` option has been removed. Slow version detection is now always enabled, as required on non-FHS-compliant distros (e.g., NixOS). (#2149, DE, Linux)
- –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.
- –For example: `fastfetch --structure-disabled colors` removes the color blocks from the default output.
- –Supports chassis type detection on Linux ARM devices when reported via the device tree (Chassis, Linux)
Features:
- –Tiny performance improvements (Windows)
- –Improves the reliability of hostname retrieval (Title, Windows)
- –Fixes potential compilation issues on Linux (#2142, Linux)
- –Fixes compilation errors on macOS when building with older SDKs (#2140, macOS)
- –Fixes compilation issues when building with `-DENABLESYSTEMYYJSON=ON` (#2143)
Deprecation notice:
- –The `ENABLEWIN7COMPAT` CMake option and the `-win7` variant binaries are planned to be removed in 2.60.0.
- –Supports COSMIC DE version detection (DE, Linux)
- –Supports niri version detection (#2121, WM, Linux)
- –Supports cosmic-term version and terminal font detection (Terminal / TerminalFont, Linux)
- –Supports urxvt font detection (TerminalFont, Linux) (#2105)
Top in Developer Tools
Related Repositories
Discover similar tools and frameworks used by developers
cursor
Local code editor with integrated LLM assistance.
Bubble Tea
Go framework for terminal user interfaces based on The Elm Architecture with inline/fullscreen modes.
VVV
Vagrant configuration creating local development environments for WordPress development.
Create T3 App
Interactive CLI for scaffolding typesafe Next.js applications with the T3 Stack technology combination.
bolt.new
LLM-powered browser IDE with integrated WebContainers runtime.