π§ LeenFetch
π 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
- Installation
- Configuration
- Roadmap
- Contributing
- Support LeenFetch
- License
- Inspiration
πΈ 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:
After that, just run:
If you hit issues with PATH
, try adding ~/.cargo/bin
to your shell:
π§ 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
:
You may need to enter your password and confirm the build during the process.
π οΈ Manual Installation (Build from Source)
Add to PATH:
Then run:
βοΈ Configuration
On first run, LeenFetch will generate three config files in:
# Linux
# Windows
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
- Fork the repo
- Create your branch (
git checkout -b feature/my-feature
) - Commit your changes (
git commit -m 'feat: add my feature'
) - Push to the branch (
git push origin feature/my-feature
) - 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! π