-` alex@workstation
.o+` ────────────────
`ooo/ OS: Arch Linux x86_64 (Linux 6.8.9-arch1-1)
`+oooo: Host: ThinkPad X1 Carbon Gen 11 (21HMCTO1WW)
`+oooooo: Kernel: 6.8.9-arch1-1
-+oooooo+: Uptime: 4d 12h 30m
`/:-:++oooo+: Display: 2880x1800 @ 120Hz
`/++++/+++++++: Shell: zsh 5.9
`/++++++++++++++: DE/WM: Hyprland (Wayland)
`/+++ooooooooooooo/` Theme: Catppuccin-Mocha-Dark
./ooosssso++osssssso+` Font: JetBrains Mono (11pt)
.oossssso-````/ossssss+` Terminal: Alacritty
-osssssso. :ssssssso. CPU: 13th Gen Intel(R) Core(TM) i7-13700H (14) @ 5.00GHz
:osssssss/ osssso+++. GPU: NVIDIA GeForce RTX 4070 Max-Q, Intel Iris Xe
/ossssssss/ +ssssooo/- Memory: 8.42 GiB / 31.68 GiB [■■■··········] 26%
`/ossssso+/:- -:/+osssso+- Swap: 0.00 GiB / 16.00 GiB [·············] 0%
`+sso+:-` `.-/+oso: Battery: 98% [Discharging] [■■■■■■■■■■■■·] 98%
Disk (/): 184.2 GiB / 953.1 GiB (ext4) [■■··········] 19%
Locale: en_US.UTF-8
███ ███ ███ ███ ███ ███ ███ ███
███ ███ ███ ███ ███ ███ ███ ███
📌 Overview
Sysfetchme is an ultra-lightweight, zero-fork system information tool written in pure standard C. Engineered from the ground up for sub-millisecond execution, it retrieves telemetry directly via kernel interfaces and memory mappings—completely bypassing heavy shell spawns (awk, sed, grep, wmic) and runtime dynamic library lookups (dlopen).
Whether integrated into your interactive shell, server MOTD, tmux status line, or CI/CD pipelines, Sysfetchme delivers instant hardware and software metrics with zero lag.
✨ Key Features
- ⚡ Sub-Millisecond Latency (< 0.3 ms): Direct kernel syscalls (
uname, sysinfo, statvfs) on Linux, Mach kernel queries on macOS, and in-memory user-data queries (GetTickCount64, GlobalMemoryStatusEx) on Windows.
- 🖼️ Dynamic On-the-Spot Wallpaper Engine: Automatically fetches and rasterizes your active desktop background into 24-bit TrueColor ASCII (
▀) on the fly.
- 🔄 In-Place 3D Rotation Engine: Real-time trigonometric perspective projection algorithm ($x' = x_c + \Delta x \cdot \cos\theta$) for smooth ASCII & image spinning.
- 📡 Real-Time Monitor Dashboard (
--live): Flicker-free terminal updates with ANSI cursor repositioning without scrolling the terminal buffer.
- 🗃️ 100+ OS & Distro Encyclopedia: Native fuzzy distro matching covering Arch, Debian, Ubuntu, Fedora, openSUSE, NixOS, Alpine, Void, Kali, macOS, FreeBSD, Windows 11/10, and custom imports.
- 🎚️ 3 Spec Density Modes: Choose between
--brief (compact), --balanced (standard), or --detailed (exhaustive telemetry).
- 🎨 Visual Unicode Progress Meters: Integrated sub-block progress bars for Memory, Swap, Battery, and Disk usage.
- 🌈 24-Bit TrueColor Theme Engine: Built-in curated palettes (
modern, cyberpunk, nord, dracula, catppuccin, gruvbox).
- ⚡ Zero-Allocation JSON Streaming (
--json): Structured, machine-readable JSON output generated in < 0.2 ms.
- ⚙️ Automated Startup Management: Simple toggle commands (
sysfetchme --on / sysfetchme --off) for shell and terminal integration.
🎚️ Spec Density Modes
Customize the depth of your system telemetry with three built-in density tiers:
1. Brief Mode (sysfetchme --brief / -b)
> Compact, distraction-free summary focusing only on primary computing metrics.
- Includes: OS, Kernel, Uptime, CPU, GPU, Memory, Disk, Color Palette.
2. Balanced Mode (sysfetchme --balanced / default sysfetchme)
> Comprehensive everyday overview for daily terminal sessions.
- Includes: Host, Display (Resolution + Refresh Rate), Shell, DE/WM, Theme, Font, Terminal, Memory & Swap meters, Battery, Disk.
3. Detailed Mode (sysfetchme --detailed / -d)
> Exhaustive hardware suite for hardware verification and power users.
- Includes: Motherboard model, BIOS Version, Network Local IP, Icon Theme, Font Point Size, Multi-Drive metrics, and full hardware breakdown.
Benchmarked using hyperfine with 10 warmup runs on a modern multicore system:
Benchmark 1: sysfetchme (Native C)
Time (mean ± σ): 0.28 ms ± 0.04 ms [User: 0.12 ms, System: 0.16 ms]
Range (min … max): 0.22 ms … 0.39 ms 1000 runs
Benchmark 2: fastfetch
Time (mean ± σ): 1.74 ms ± 0.21 ms [User: 0.85 ms, System: 0.89 ms]
Range (min … max): 1.42 ms … 2.45 ms 1000 runs
Benchmark 3: neofetch
Time (mean ± σ): 184.62 ms ± 8.14 ms [User: 112.4 ms, System: 72.2 ms]
Range (min … max): 172.10 ms … 201.30 ms 20 runs
Architectural Comparison
| Dimension | Sysfetchme | Fastfetch | Neofetch |
|---|
| Execution Latency | < 0.3 ms ⚡ | ~1.7 ms | ~185 ms 🐌 |
| Subprocess Forks | 0 (Direct Syscalls) | 0 | 30–45 subprocesses |
| Runtime Dynamic Linking | 0 (dlopen free) | 12+ dynamic lookups | N/A |
| Memory Footprint (RSS) | ~1.1 MB (Stack only) | ~4.8 MB | ~22.0 MB |
| Dynamic Wallpaper Engine | Integrated (Auto-detect) | ❌ | ❌ |
| Live In-Place 3D Spin | Integrated (--live) | ❌ | ❌ |
| Out-of-the-Box Progress Meters | Integrated | ❌ (Text only) | ❌ |
| Binary Footprint | ~50 KB (Linux) / ~600 KB (Win) | ~2.2 MB | ~100 KB script |
🚀 Installation & Build
Prerequisites
A standard C99 compiler (GCC, Clang, or MinGW).
1. Build on Windows
# Compile with aggressive optimization
gcc -O3 -Wall -Wextra sysfetchme.c -o sysfetchme.exe -lm
# Install globally to User PATH
Copy-Item ".\sysfetchme.exe" "$env:LOCALAPPDATA\Microsoft\WindowsApps\sysfetchme.exe" -Force
2. Build on Linux / macOS / BSD
# Standard build
make
# Or standalone static binary (runs on any Linux distro without shared libs)
make static
# Install to system path
sudo make install
🛠️ CLI Reference
Usage: sysfetchme [OPTIONS]
| Flag | Argument | Description |
|---|
-b, --brief | None | Brief View: Compact summary (OS, CPU, GPU, Memory, Disk) |
--balanced | None | Balanced View: Comprehensive everyday overview (Default) |
-d, --detailed | None | Detailed View: Exhaustive telemetry (BIOS, Network, Icons, Full Specs) |
-w, --wallpaper | None | On-the-Spot Wallpaper Engine: Auto-detect desktop wallpaper & rasterize to 3D ASCII (Default) |
-a, --ascii | None | Use classic text ASCII distro logo instead of desktop wallpaper |
--theme | `` | Set active color theme: modern, cyberpunk, nord, dracula, catppuccin, gruvbox |
--live, -l | None | Start live continuous 3D monitor with real-time metric polling |
--spin | None | Display 3D rotating animation intro before rendering |
--json, -j | None | Stream full system specifications as structured JSON |
--image | `` | Render any 24-bit TrueColor image alongside specs |
--no-bars | None | Disable Unicode visual meter progress bars |
--on | None | Enable automatic terminal startup for Command Prompt and PowerShell |
--off | None | Disable automatic terminal startup |
--arch, --ubuntu, --kali, ... | None | Manual Distro Overrides: --arch, --endeavour, --manjaro, --ubuntu, --debian, --popos, --mint, --kali, --fedora, --rhel, --centos, --opensuse, --nixos, --gentoo, --alpine, --void, --slackware, --freebsd, --openbsd, --macos, --windows, --linux |
🎨 Themes
Sysfetchme comes with curated 24-bit TrueColor themes designed for modern terminal color schemes:
sysfetchme --theme cyberpunk # Neon Cyan & Hot Magenta
sysfetchme --theme nord # Arctic Blue & Frost Teal
sysfetchme --theme dracula # Vampire Purple & Toxic Green
sysfetchme --theme catppuccin # Pastel Latte / Mocha Tones
sysfetchme --theme gruvbox # Warm Retro Earthy Gold
⚙️ Automated Terminal Startup
Enable or disable automatic execution when opening new terminal sessions with built-in controller flags:
# Enable auto-start for CMD and PowerShell
sysfetchme --on
# Disable auto-start anytime
sysfetchme --off
💻 JSON API
Pass --json to stream structured telemetry in < 0.2ms for status bars (Polybar, Waybar, Rainmeter, tmux):
{
"user": "alex",
"hostname": "workstation",
"os": "Arch Linux x86_64 (Linux 6.8.9-arch1-1)",
"host": "ThinkPad X1 Carbon Gen 11 (21HMCTO1WW)",
"kernel": "6.8.9-arch1-1",
"uptime": "4d 12h 30m",
"display": "2880x1800 @ 120Hz",
"shell": "zsh 5.9",
"de_wm": "Hyprland (Wayland)",
"theme": "Catppuccin-Mocha-Dark",
"font": "JetBrains Mono (11pt)",
"terminal": "Alacritty",
"cpu": "13th Gen Intel(R) Core(TM) i7-13700H (14) @ 5.00GHz",
"gpu": "NVIDIA GeForce RTX 4070 Max-Q, Intel Iris Xe",
"memory": { "used_total": "8.42 GiB / 31.68 GiB", "percent": 26.5 },
"swap": { "used_total": "0.00 GiB / 16.00 GiB", "percent": 0.0 },
"battery": { "status": "98% [Discharging]", "percent": 98.0 },
"disk": { "used_total": "184.2 GiB / 953.1 GiB (ext4)", "percent": 19.3 }
}
📄 License
This project is licensed under the MIT License. See LICENSE for details.