leenfetch 0.2.1

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

🧠 LeenFetch

Crates.io License: MIT

🌐 Available in: English | فارسی | Русский | δΈ­ζ–‡

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

πŸ“¦ Installation

βœ… Install from crates.io (recommended)

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"

🐧 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

You may need to enter your password and confirm the build during the process.


πŸ› οΈ 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

βš™οΈ 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.

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