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
242 downloads per month
495KB
7K
SLoC
π¦ LynxFetch - A Minimal & Aesthetic System Fetch Tool
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
π§ 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
-
Prerequisites:
- Rust 1.70+ (install via rustup)
- Basic Linux system libraries
-
Building & Running:
cargo build
cargo run
- Testing:
cargo test
- Debugging:
RUST_LOG=debug cargo run
π Module Development Guide
To add a new system information module:
- Create a new file in
src/modules/
with your module category - Implement the
Module
trait:
impl Module for YourModule {
fn new() -> Self { ... }
fn style(&self, config: &Configuration) -> (String, String) { ... }
// Other required methods
}
-
Register your module in
src/modules/mod.rs
-
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:
-
Clone the Repository: Start by cloning the LynxFetch repository to your local machine:
git clone https://gitlab.com/lynxfetch/lynxfetch.git cd lynxfetch
-
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 asfix-bug-123
oradd-new-feature
. -
Make Your Changes: Implement your changes in the codebase. Be sure to follow the project's coding standards and guidelines.
-
Test Your Changes: Before committing, test your changes thoroughly to ensure they work as expected and do not introduce new issues.
-
Commit Your Changes: Write a clear and concise commit message that describes your changes:
git commit -m "Add: Implemented new feature for XYZ"
-
Push Your Changes: Push your branch to the remote repository on GitLab:
git push origin feature-branch
-
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