#system-information #fetch #fetch-system-information #command-line #linux

app lynxfetch

Super fast, versatile, and customizable command-line fetcher

2 stable releases

Uses new Rust 2024

new 1.0.8 Apr 16, 2025
1.0.7 Mar 24, 2025

#53 in Command line utilities

Download history 103/week @ 2025-03-22 13/week @ 2025-03-29 10/week @ 2025-04-05 116/week @ 2025-04-12

242 downloads per month

GPL-3.0-or-later

495KB
7K SLoC

🦊 LynxFetch - A Minimal & Aesthetic System Fetch Tool

GitLab CI Coverage License: GPL-3.0-or-later Stars Forks

LynxFetch is a lightweight, aesthetic, and fast system information fetch tool developed in Rust for Linux. It displays essential system details in a minimalistic, clean format, making it a perfect alternative to more resource-heavy fetch tools like Neofetch. Designed with performance in mind, LynxFetch prioritizes speed, efficiency, and a beautiful output, providing a seamless experience while using minimal system resources. πŸš€

🎯 Purpose

LynxFetch was developed to give users a fast, lightweight, and visually pleasing way to display system information. Unlike bloated alternatives, LynxFetch focuses on simplicity, performance, and aesthetic appeal, making it a perfect tool for minimalists, developers, and enthusiasts who want a beautiful, easy-to-read terminal output. Whether you're showcasing your system specs or just keeping an eye on your machine's resources, LynxFetch is the ultimate companion for your terminal.

✨ Features

  • βœ… Ultra-Lightweight & Blazing Fast: Consumes minimal system resources and displays information instantly.
  • βœ… Essential System Information: Showcases CPU, GPU, Memory, Kernel, OS, Uptime, and more.
  • βœ… Minimalistic & Aesthetic: No clutterβ€”just clean, readable system stats.
  • βœ… Cross-Platform Compatibility: Fully supports Linux.
  • βœ… Highly Customizable: Tailor themes, colors, and output styles to fit your preferences.
  • βœ… No Bloat & Dependencies: Pure simplicityβ€”no unnecessary software overhead.
  • βœ… Fast & Efficient: Optimized for speed with near-instant execution times.
  • βœ… ASCII Art Support: Displays distribution logos in ASCII format for added flair.
  • βœ… Built with Rust: LynxFetch is developed in Rust, ensuring excellent performance and reliability.

πŸ“Έ Preview

Preview

πŸ”§ Installation

πŸ“¦ Venom Linux (Community Repository)

scratch install lynxfetch

πŸ“¦ Ubuntu/Rhino Linux (Pacstall)

pacstall -I lynxfetch

πŸ¦€ Installation via Cargo

cargo install lynxfetch

🐧 Manual Installation

git clone https://gitlab.com/lynxfetch/lynxfetch.git
cd lynxfetch
cargo build --release
cp target/release/lynxfetch /usr/local/bin/

πŸš€ Usage

To run LynxFetch and display system information with a minimalistic interface, simply execute:

lynxfetch

πŸ‘₯ Development & Contributing

πŸ› οΈ Development Setup

  1. Prerequisites:

    • Rust 1.70+ (install via rustup)
    • Basic Linux system libraries
  2. Building & Running:

cargo build
cargo run
  1. Testing:
cargo test
  1. Debugging:
RUST_LOG=debug cargo run

πŸ“ Module Development Guide

To add a new system information module:

  1. Create a new file in src/modules/ with your module category
  2. Implement the Module trait:
impl Module for YourModule {
    fn new() -> Self { ... }
    fn style(&self, config: &Configuration) -> (String, String) { ... }
    // Other required methods
}
  1. Register your module in src/modules/mod.rs

  2. Add configuration options if needed in src/config_manager.rs

πŸ‘₯ Contributing

We welcome contributions to LynxFetch! πŸŽ‰ Whether you're fixing bugs, adding new features, or improving documentation, your help is greatly appreciated. Here's how you can get started:

  1. Clone the Repository: Start by cloning the LynxFetch repository to your local machine:

    git clone https://gitlab.com/lynxfetch/lynxfetch.git
    cd lynxfetch
    
  2. Create a New Branch: Always create a new branch for your changes to keep your work organized and separate from the main branch:

    git checkout -b feature-branch
    

    Replace feature-branch with a descriptive name for your branch, such as fix-bug-123 or add-new-feature.

  3. Make Your Changes: Implement your changes in the codebase. Be sure to follow the project's coding standards and guidelines.

  4. Test Your Changes: Before committing, test your changes thoroughly to ensure they work as expected and do not introduce new issues.

  5. Commit Your Changes: Write a clear and concise commit message that describes your changes:

    git commit -m "Add: Implemented new feature for XYZ"
    
  6. Push Your Changes: Push your branch to the remote repository on GitLab:

    git push origin feature-branch
    
  7. Create a Merge Request: Go to the LynxFetch GitLab repository and create a merge request (MR). Provide a detailed description of your changes, including the problem it solves or the feature it adds.

πŸ›  Contribution Guidelines

  • Code Style: Ensure your code adheres to the Rust community's best practices and the project's style guide.
  • Documentation: Update or add documentation for any new features or changes.
  • Commit Messages: Use clear and descriptive commit messages. Follow the format: Type: Short description (e.g., Add: Implemented XYZ feature).
  • Testing: Include tests for any new functionality or bug fixes.

🀝 Need Help?

If you have any questions or need assistance, feel free to open an Issue or join the discussion in the community.


πŸ“ License

LynxFetch is licensed under the GPL-3.0-or-later License. This means you are free to use, modify, and distribute the software under the terms of the license. See the LICENSE file for full details.


πŸ’¬ Community & Support

We value your feedback and contributions! Here’s how you can get involved:

  • πŸ’‘ Feature Requests: Have an idea for a new feature? Open an Issue to share your suggestion.
  • 🐞 Bug Reports: Found a bug? Submit a detailed Bug Report so we can fix it.
  • ❀️ Support the Project: If you enjoy using LynxFetch, consider giving it a ⭐ on GitLab to show your support!

Join us in making LynxFetch even better! πŸš€

Dependencies

~21–32MB
~588K SLoC