leenfetch 0.2.2

Fast, minimal, customizable system info tool in Rust (Neofetch alternative)
leenfetch-0.2.2 is not a library.
Visit the last successful build: leenfetch-0.1.3

๐Ÿง  LeenFetch

Crates.io License: MIT Build and Release

A fast, minimal, and customizable system information tool built in Rust โ€” your alternative to Neofetch, for real power users.

โš ๏ธ LeenFetch is under active development. Expect bugs and improvements regularly!

Want to help? Contributions, testing, and feedback are always welcome!

๐Ÿ’ฌ Feedback & Issues

Found a bug? Got a feature idea?
Head over to the issues or join the discussions page!

๐Ÿ“š Table of Contents

๐Ÿ“ธ Screenshots

๐Ÿš€ Features

  • โšก Blazing fast startup thanks to Rust
  • ๐ŸŽจ Customizable output layout with colorized terminal output
  • ๐Ÿงฉ Modular design โ€” enable or disable components via config
  • ๐Ÿ’พ Smart defaults but easily extendable
  • ๐Ÿ“ฆ Detects installed packages, shell, GPU, DE/WM, and more
  • ๐Ÿ–ผ๏ธ Custom ASCII art support and override via config
  • ๐ŸŽจ Supports theme-based color profiles (ascii_colors=distro, etc.)
  • ๐Ÿ”Œ Simple config file: ~/.config/leenfetch/config.conf
  • ๐Ÿงต Accepts piped ASCII input โ€” use fortune | cowsay | leenfetch for dynamic text logos

๐Ÿ“ฆ Installation

Install on Arch Linux (via AUR)

If you're on Arch Linux or an Arch-based distribution (like Manjaro), you can install LeenFetch from the AUR using an AUR helper like yay:

yay -S leenfetch

or

git clone https://aur.archlinux.org/leenfetch.git
cd leenfetch
makepkg -si

Install on Debian / Ubuntu (via .deb)

If you're on Debian, Ubuntu, or a Debian-based distribution, you can download and install the .deb package from the GitHub Releases:

  • AMD64 (x86_64)
wget https://github.com/drunkleen/leenfetch/releases/download/v0.2.1/leenfetch-v0.2.1-debian-x86_64.deb
sudo dpkg -i leenfetch-*.deb
  • AArch64 (ARM64)
wget https://github.com/drunkleen/leenfetch/releases/download/v0.2.1/leenfetch-v0.2.1-debian-aarch64.deb
sudo dpkg -i leenfetch-*.deb

Install on Fedora / RHEL (via .rpm)

If you're using Fedora, RHEL, or another RPM-based distro, you can install LeenFetch using the .rpm file from GitHub Releases:

  • AMD64 (x86_64)
wget https://github.com/drunkleen/leenfetch/releases/download/v0.2.1/leenfetch-v0.2.1-REHL-x86_64.rpm
sudo rpm -i leenfetch-*.rpm

Install on Windows (via .zip)

If you're on Windows, download the latest .zip from the GitHub Releases:

powershell:

  • AMD64 (x86_64)
Invoke-WebRequest -Uri "https://github.com/drunkleen/leenfetch/releases/download/v0.2.1/leenfetch-v0.2.1-windows-x86_64.zip" -OutFile "leenfetch-win.zip"
Expand-Archive .\leenfetch-win.zip -DestinationPath .

.\leenfetch-v0.2.1-windows-x86_64.exe

Make sure you're in the same directory as leenfetch.exe when running the command.


Install from crates.io

Make sure you have Rust & Cargo installed:

cargo install leenfetch

After that, just run:

leenfetch

If you hit issues with PATH, try adding ~/.cargo/bin to your shell:

export PATH="$HOME/.cargo/bin:$PATH"

๐Ÿ› ๏ธ Manual Installation (Build from Source)

git clone https://github.com/drunkleen/leenfetch.git
cd leenfetch
cargo build --release

Add to PATH:

cp target/release/leenfetch ~/.local/bin/

Then run:

leenfetch

๐Ÿ“ฅ Using Piped Input

LeenFetch can accept piped input to use as the ASCII logo.

This allows you to create dynamic, fun logos on the fly using other command-line tools.

Examples:

echo "Rustacean" | leenfetch
fortune | cowsay | leenfetch

LeenFetch will detect piped input via stdin and render the ASCII art above your system information.

If no piped input is provided, it will fall back to your configured or auto-detected ASCII art.


โš™๏ธ Configuration

On first run, LeenFetch will generate three config files in:

# Linux
~/.config/leenfetch/

# Windows
C:\Users\<username>\AppData\Roaming\leenfetch\
  • flags.ron โ€” Controls display and formatting options for each block.
  • toggles.ron โ€” Controls which information blocks are shown or hidden.
  • print_layout.ron โ€” Controls the order and labels of blocks in the output.

Each file is heavily commented, so you can read the file itself for a full explanation of every option.

flags.ron

This file lets you fine-tune how each block of information is displayed. You can:

  • Choose which ASCII art and color palette to use.
  • Select how battery, disk, memory, and package info are shown.
  • Pick units, detail level, and formatting for each section.
  • Enable or disable features like CPU brand, temperature, shell version, etc.

If input is piped into leenfetch, the ASCII logo from ascii_distro or custom_ascii_path is ignored and the piped content is used instead.

Example:

(
    // Select which distribution's ASCII art to display at the top.
    // Options:
    //   "auto"   - Automatically detect and use your current distribution's ASCII art.
    //   <name>   - Use a specific distro's art (e.g., "arch", "ubuntu", "debian").
    ascii_distro: "auto",
    ...
)

toggles.ron

This file controls which blocks of information are shown in the output. Set each option to true to show that block, or false to hide it.

Example:

(
    // Show the user@host title at the top of the output.
    // true  - Display the title block (e.g., "snape@archbox").
    // false - Hide the title block.
    show_titles: true,
    ...
)

print_layout.ron

This file controls the order and labels of each block in the output. You can rearrange, remove, or relabel any section to customize your output.

Example:

[
    // The user@host title block (e.g., "snape@archbox").
    (label: "Titles", field: "titles"),
    // The distribution (distro) information (e.g., "Arch Linux").
    (label: "Distro", field: "distro"),
    ...
]

How to Edit

  • Open any of the .ron files in your favorite text editor.
  • Read the comments above each option for a full explanation.
  • Change values as you like, save, and re-run leenfetch to see your changes.

For advanced details, see the comments in each config file or check the wiki (if available).

๐ŸŽฏ Roadmap

Feature Status
Base module system โœ… Done
Config file loader โœ… Done
Custom layout tags โœ… Done
GPU/CPU/Mem/DE/WM detection โœ… Done
Linux support โœ… Done
Windows support โœ… Done
CLI override options ๐Ÿ” Basic
ASCII art & theming ๐Ÿ” Basic
Multi-Threading ๐Ÿ”„ Planned
macOS support ๐Ÿ”„ Planned
OpenBSD support ๐Ÿ”„ Planned
Plugin/module system โ“ Maybe
Fetch info over SSH โ“ Maybe

๐Ÿค Contributing

  1. Fork the repo
  2. Create your branch (git checkout -b feature/my-feature)
  3. Commit your changes (git commit -m 'feat: add my feature')
  4. Push to the branch (git push origin feature/my-feature)
  5. Create a Pull Request

We welcome clean PRs and documented modules! โœจ


โ˜• Support LeenFetch

If you have found LeenFetch valuable and would like to contribute to its ongoing development, your support is greatly appreciated. You can show your appreciation by making a donation through PayPal or any of the following cryptocurrency networks:

  • Bitcoin (BTC): bc1qsmvxpn79g6wkel3w67k37r9nvzm5jnggeltxl6
  • ETH/BNB/MATIC (ERC20, BEP20): 0x8613aD01910d17Bc922D95cf16Dc233B92cd32d6
  • USDT/TRON (TRC20): TGNru3vuDfPh5zBJ31DKzcVVvFgfMK9J48
  • Dogecoin (DOGE): D8U25FjxdxdQ7pEH37cMSw8HXBdY1qZ7n3

Your generous contribution ensures the continued improvement and maintenance of LeenFetch. โค๏ธ

Thank you for supporting the project! ๐Ÿ™


๐Ÿ“„ License

MIT License ยฉ DrunkLeen


๐Ÿ’ก Inspiration