GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Features
  • Previews
  • Docs
  • GitHub
  • Dev
  • Xscriptor
  • MIT License
  • Contributing

This view

  • Original page
  • New address

GeezerVison is showing xfetch-cli.github.io — resources/xfetch — Dev Xscriptor

System information,
rendered with precision.

One binary, 18 modules and 16 layouts — your system, drawn in the terminal.

Install xfetchView on GitHub
xfetch renders system information from a layered pipeline: configuration, probes, renderer and terminal output. The 3D keyboard is decorative; the same information is available in the page copy.
Linux / macOS
# One-liner (curl)
curl -fsSL https://raw.githubusercontent.com/xfetch-cli/xfetch/main/install.sh | bash

# Custom prefix
bash <(curl -fsSL ...) --prefix /usr/local
Windows
# Official package (WinGet)
winget install xfetch

# Prebuilt binary (no Rust toolchain)
irm https://raw.githubusercontent.com/xfetch-cli/xfetch/main/install-prebuilt.ps1 | iex

# From source (requires Rust)
irm https://raw.githubusercontent.com/xfetch-cli/xfetch/main/install.ps1 | iex
Arch Linux
# AUR (precompiled binary)
yay -S xfetch-core-bin

# AUR (build from source)
yay -S xfetch-git

# Without an AUR helper
git clone https://aur.archlinux.org/xfetch-core-bin.git
cd xfetch-core-bin
makepkg -si
X Linux
# Official X Linux package
xpm-aur install xfetch-core-bin
Cargo
# From crates.io
cargo install xfetch-cli

# Update an existing install
cargo install xfetch-cli --force
Build from source
# Clone & build manually
git clone https://github.com/xfetch-cli/xfetch.git
cd xfetch
cargo build --release

# Binary → target/release/xfetch
cp target/release/xfetch ~/.local/bin/

# Config files
mkdir -p ~/.config/xfetch
cp configs/config.jsonc ~/.config/xfetch/config.jsonc

After install, just run:

first run commands
$ xfetch
$ xfetch --version
$ xfetch --gen-config
See all previews→
  • xfetch on Linux, default side-by-side layout
    Default side-by-side layout on Linux — logo, modules and colors.
  • xfetch on Linux, custom layout and color scheme
    Custom layout and palette from the same config.jsonc.
  • xfetch on Linux, ANSI color palette module
    The ANSI palette module rendered as squares.
  • xfetch on Linux, logo animation frame
    animate-logo frame from the sweep and rainbow cycle.
  • xfetch on Linux, four layout variations on one desktop
    Four layouts on one desktop — classic, grouped, boxed and minimal.
01

System information

OS, kernel, CPU, GPU, memory, disk, battery, uptime, packages, shell, terminal, WM/DE and more.

  • 18modules
  • 9layouts
  • 6targets
02

Cross-platform

Works on Linux, Windows, and macOS. Same tool, same config — everywhere.

03

Multiple layouts

Classic side-by-side, right, Pac-Man, tree, section, side-block, box, lines, dots, and bottom-line.

04

JSONC config

Full customization via config.jsonc — modules, icons, colors, logos, and layouts.

05

Color palette

Built-in ANSI color palette display with square, circle, triangle, and line styles.

06

Plugin system

Extend with external plugins via JSON over stdin/stdout. Animate logos, fetch GitHub stats, and more.

07

Logo animation

Animate ASCII logos with sweep, wave, rainbow, sparkle, breathing, and frame-by-frame styles.

08

NERD Font icons

Customizable Nerd Font icons per module. Use emojis, text, or any Unicode glyph.

09

ASCII & image logos

Display text logos with ANSI colors or image files (png, jpg, svg) via viuer.

Click to replay

xfetch — bashstdout

$ xfetch ────── Hardware ────── cpu AMD Ryzen 9 7950X (16) @ 4.50 GHz gpu NVIDIA GeForce RTX 4090 memory 8.25 GiB / 31.20 GiB (26%) disk 256.4 GiB / 1.0 TiB (25%) battery 85% [Charging] ────── Software ────── os Arch Linux x86_64 kernel 6.6.1-arch1-1 packages 1456 (pacman) shell zsh wm Hyprland ────── Session ────── user x0z uptime 2 hours, 15 mins datetime 2026-07-13 14:23:00 ANSI palette: red, orange, yellow, green, cyan, blue, violet, peach $ █

Select a slot to inspect a layer. The blue path is data flow; the violet plane is the sandbox boundary.

Composition layer

Renderer

The layout engine arranges modules and applies colors, Nerd Font icons, ASCII or image logos, and logo animations. Every layout is driven by the same resolved config.

  • 16 built-in layouts
  • Icons + colors
  • Logo animation
Filter modules
Category

18 of 18 modules

  • os

    System

    Operating system name, version & architecture

  • kernel

    System

    Kernel version

  • hostname

    System

    Machine hostname

  • uptime

    System

    System uptime

  • packages

    Software

    Package count (pacman, dpkg, scoop, brew, etc.)

  • shell

    Software

    Current shell (bash, zsh, powershell)

  • terminal

    Software

    Terminal emulator

  • wm

    Software

    Window Manager / Desktop Environment

  • cpu

    Hardware

    CPU model, cores & frequency

  • gpu

    Hardware

    GPU model(s) — integrated & discrete

  • memory

    Hardware

    RAM used / total with percentage

  • swap

    Hardware

    Swap usage

  • disk

    Hardware

    Disk usage

  • battery

    Hardware

    Battery level & status (charging/discharging)

  • user

    Session

    Current username

  • datetime

    Session

    Current date & time

  • local_ip

    Network

    Local IP address

  • palette

    Display

    ANSI color palette (squares, circles, triangles, lines)

██ ██ ██ ██ ███ ██ ██ ██ ██
osArch LinuxwmHyprlandcpuRyzen 9gpuRTX 4090mem8.2 / 31 GiB
01 / 06
Default (Classic) JSON
{
  "layout": null
}

Showing 6 examples. line, dots, and bottom_line are also available in the config builder.

● ● ● PAC-MAN ● ● ●
██ ██ ██ ██ ███ ██ ██ ██ ██
osArch LinuxcpuRyzen 9mem8.2 / 31 GiB
●●●●●●●●●●
02 / 06
Pac-Man JSON
{
  "layout": "pacman"
}

Showing 6 examples. line, dots, and bottom_line are also available in the config builder.

──── Hardware ────cpuRyzen 9gpuRTX 4090mem8.2 / 31 GiB──── Software ────osArch Linuxshellzsh
03 / 06
Section JSON
{
  "layout": "section",
  "modules": [
    { "type": "group", "title": "Hardware",
      "modules": ["cpu","gpu","memory"] },
    { "type": "group", "title": "Software",
      "modules": ["os","shell"] }
  ]
}

Showing 6 examples. line, dots, and bottom_line are also available in the config builder.

oskernelcpugpumemory
Arch Linux6.6.1Ryzen 9RTX 40908.2 / 31 GiB
04 / 06
Side Block JSON
{
  "layout": "side-block"
}

Showing 6 examples. line, dots, and bottom_line are also available in the config builder.

xfetch├─ OS│ ├─ os│ ├─ kernel│ └─ packages└─ PC ├─ cpu ├─ gpu └─ memory
05 / 06
Tree JSON
{
  "layout": "tree",
  "modules": [
    { "type": "group", "title": "OS",
      "modules": ["os","kernel","packages"] },
    { "type": "group", "title": "PC",
      "modules": ["cpu","gpu","memory"] }
  ]
}

Showing 6 examples. line, dots, and bottom_line are also available in the config builder.

osArch LinuxwmHyprlandcpuRyzen 9gpuRTX 4090mem8.2 / 31 GiB
06 / 06
Box JSON
{
  "layout": "box"
}

Showing 6 examples. line, dots, and bottom_line are also available in the config builder.

Modules11 of 18 selected
Layout
Generated config.jsonc
{
  "modules": [
    "os",
    "kernel",
    "uptime",
    "packages",
    "shell",
    "wm",
    "cpu",
    "gpu",
    "memory",
    "disk",
    "palette"
  ],
  "show_colors": true
}

Use a custom config file:

custom config command
xfetch --config path/to/my_config.jsonc
plugin commands
# Install from local path
xfetch plugin install ./plugins/animate-logo

# List installed
xfetch plugin list

# Remove
xfetch plugin remove animate-logo

animate-logo

Animates ASCII logos with multiple color effects via JSON protocol.

  • sweep
  • wave
  • rainbow
  • sparkle
  • breathing
  • frame

github-stats

Fetches GitHub user stats via the public API.

  • github
  • api

custom

Any executable reading JSON from stdin and writing JSON to stdout works.

  • JSON protocol
  • any language
plugins effects extensionsOrbits are decorative; the list below is the source of truth.
  • Deny-by-default capabilities
  • Time, memory and output limits
  • Same JSON stdin/stdout contract
  • Native or WebAssembly guests

Plugin discovery: explicit path → xfetch-plugin-<name> in PATH → ~/.config/xfetch/plugins/ → ./plugins/<name>/target/release

run xfetch
xfetch
Done In progress
  1. Phase 0-3 — Foundation & modules

    Done

    Core system, all info modules, 20+ example configs, install scripts, layouts, documentation.

  2. Phase 4 — Package manager expansion

    Done

    RPM, APK (Alpine), Nix, Homebrew, Chocolatey, multi-manager detection, performance optimization.

  3. Phase 5 — Network & connectivity

    Done

    Local/public IP (with privacy toggle), IPv6, network interface display.

  4. Phase 6 — Enhanced modules

    Done

    Music player (MPD), Spotify, weather, timezone, user info, display resolution, theme detection.

  5. Phase 7 — Additional layouts

    Done

    Compact, horizontal, bottom, minimal (text-only), layout preview documentation.

  6. Phase 8 — Performance

    Done

    Parallel probing, caching, lazy loading, benchmarking, profiling, modularized files.

  7. Phase 9 — CI/CD & distribution

    Done

    GitHub Actions, macOS/Windows binaries, Homebrew tap, AUR, install scripts, changelog automation.

  8. Phase 10 — Community & ecosystem

    Done

    Themes registry, plugin system, theme download manager, community contributions, theme preview tool.

  9. Phase 11 — Testing & QA

    Done

    Unit/integration tests, clippy, rustfmt, platform-specific tests, cross-platform suite, coverage.

  10. Phase 12 — Advanced features

    Done

    Daemon mode, live stats, config hot-reload, conditional modules, theme variables, logo animations and accessibility.

  11. Phase 13 — Marketing

    In progress

    User manual, video tutorials, project website, blog posts, comparison guide, community channel.

  12. Phase 14 — CLI & automation

    Done

    Machine-readable JSON, runtime overrides, doctor, config backup/restore, shell completions, man page and command addons.

Quick uninstall

quick uninstall
curl -fsSL https://raw.githubusercontent.com/xfetch-cli/xfetch/main/uninstall.sh | bash

Manual uninstall

manual uninstall
rm ~/.local/bin/xfetch
rm -rf ~/.config/xfetch

The manual commands remove both the binary and ~/.config/xfetch. Back up custom configs and themes first.

Open source · MIT

Build it, theme it,
extend it.

One Rust binary, a JSONC config, and a JSON protocol for plugins, effects and extensions. Fork it, ship a theme, or write the next module.

View Source CodeRead the docs
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.