3 releases
| 0.1.2 | Oct 5, 2025 |
|---|---|
| 0.1.1 | Oct 5, 2025 |
| 0.1.0 | Oct 5, 2025 |
#218 in Visualization
110KB
2K
SLoC
HxFetch
A fast, modern system information tool written in Rust with comprehensive ASCII art support.
Features
- Fast system information collection - Written in Rust for optimal performance
- Rich ASCII art logos - Support for 84+ distribution logos with custom ASCII maker
- Flexible logo system - TOML-based configuration for custom and user-generated logos
- Configurable display - Customize colors, layout, and information shown
- Extensive OS support - Built-in support for major Linux distributions, BSD, macOS, and more
- ASCII art generator - Built-in tool to convert images to colored ASCII art
- Lightweight - Minimal dependencies and fast execution
Installation
git clone https://github.com/HxHippy/HxFetch.git
cd HxFetch
cargo build --release
sudo cp target/release/hxfetch /usr/local/bin/
Usage
# Basic usage
hxfetch
# Create custom ASCII logos from images
hxfetch --ascii-maker
# Test with specific OS logo
OS="arch" hxfetch
OS="ubuntu" hxfetch
OS="kali" hxfetch
# Configuration options
hxfetch --generate-config
hxfetch --no-config
hxfetch --help
ASCII Art System
HxFetch includes a powerful ASCII art system with support for custom logos:
Built-in ASCII Maker
hxfetch --ascii-maker
Convert any image to colored ASCII art and automatically integrate it into HxFetch. Supports:
- Automatic image resizing and optimization
- Color preservation with ANSI escape sequences
- Background removal for terminal theme compatibility
- Direct integration with logo configuration system
Custom Logo Configuration
Logos are stored in ~/.config/hxfetch/logos.toml:
[logos.archlinux]
function_name = "arch_logo"
lines = ["ASCII art lines here..."]
colored = true
Testing Different Logos
# Test any distribution logo
OS="distribution_name" hxfetch
# Examples
OS="debian" hxfetch
OS="fedora" hxfetch
OS="gentoo" hxfetch
Configuration
Configuration files:
- Main config:
~/.config/hxfetch/config.toml - Logo config:
~/.config/hxfetch/logos.toml
Display Configuration Options
show_os: Operating system informationshow_kernel: Kernel versionshow_uptime: System uptimeshow_cpu: CPU informationshow_memory: Memory usageshow_storage: Storage usageshow_shell: Current shellshow_desktop: Desktop environmentshow_terminal: Terminal informationshow_colors: Color palette
Color Customization
logo_color: ASCII art logo coloraccent_color: Accent highlightslabel_color: Information labelsvalue_color: Information valuesseparator_color: Separators and borders
Supported Distributions
HxFetch includes ASCII logos for 80+ distributions including:
Major Distributions:
- Ubuntu, Debian, Arch Linux, Fedora, openSUSE
- CentOS, RHEL, Manjaro, Linux Mint, Elementary OS
Security-Focused:
- Kali Linux, Parrot OS, BlackBox, Pentoo, Tails
- Qubes OS, Whonix, Kodachi, Security Onion
Specialized:
- NixOS, Gentoo, Void Linux, Alpine Linux
- FreeBSD, OpenBSD, ReactOS, Raspberry Pi OS
Desktop-Oriented:
- Pop!_OS, Zorin OS, KDE Neon, EndeavourOS
- Garuda Linux, CachyOS, Nobara, Vanilla OS
Full list available in the logo configuration system
Development
Building
Requirements:
- Rust 1.70+
- Cargo
git clone https://github.com/HxHippy/HxFetch.git
cd HxFetch
cargo build --release
Dependencies
sysinfo- System information collectionclap- Command line argument parsingserde- Configuration serializationtoml- Configuration file formatrascii_art- ASCII art generationdirs- User directory detection
Contributing
- Fork the repository
- Create your feature branch
- Add tests for new functionality
- Ensure
cargo testandcargo clippypass - Submit a pull request
Credits
- ASCII Art Generation: Powered by the
rascii_artcrate - RASCII Project: Special thanks to RASCII for ASCII art conversion techniques and inspiration
- System Information: Built on the
sysinfocrate - Inspiration: Inspired by the original neofetch project by Dylan Araps
- Logo Assets: Distribution logos are property of their respective organizations
License
MIT License - see LICENSE file for details
Dependencies
~12–44MB
~646K SLoC