A fast, modern system information tool written in Rust, inspired by neofetch but designed for performance and extensibility.
- π Fast Performance: Built in Rust for maximum speed and efficiency
- π Comprehensive Info: System, hardware, and runtime information
- βοΈ Configurable: Extensive configuration options (Not now :D)
- π§ Cross-Platform: Supports Windows, macOS, and Linux
- π Memory Efficient: Minimal resource usage
- π― Modular Design: Clean, extensible architecture
git clone https://github.com/HugoQwQ/nextfetch.git
cd nextfetch
cargo build --releaseThe binary will be available at target/release/nextfetch.
cargo install nextfetchSimply run the command to display system information:
nextfetchNextFetch uses TOML configuration files for customization. The default configuration is loaded from:
- Linux/macOS:
~/.config/nextfetch/config.toml - Windows:
%APPDATA%\nextfetch\config.toml
# Display fields to show
display_fields = [
"os",
"hostname",
"kernel",
"uptime",
"cpu",
"memory",
"storage"
]
# Color theme configuration
[color_theme]
primary = "#61afef"
secondary = "#98c379"
accent = "#e06c75"
text = "#abb2bf"
# ASCII art configuration
[ascii_art]
enabled = true
builtin_style = "auto" # auto, default, windows, linux, macos, ubuntu, arch, fedora
custom_path = "/path/to/custom/ascii.txt" # Optional custom ASCII art file
# Performance settings
[performance]
timeout_ms = 1000
max_memory_mb = 10
parallel_collection = trueNextFetch includes built-in ASCII art for various operating systems:
- auto - Automatically detects OS and uses appropriate logo
- default - Generic NextFetch logo
- windows - Windows logo
- linux - Tux penguin
- macos - Apple logo
- ubuntu - Ubuntu logo
- arch - Arch Linux logo
- fedora - Fedora logo
You can use custom ASCII art by specifying a file path in the configuration:
[ascii_art]
enabled = true
custom_path = "/path/to/your/ascii.txt" ββββββββ ββββββββ π₯οΈ OS : Windows 11 (22631)
ββββββββ ββββββββ π¦ Version : 11 (22631)
ββββββββ ββββββββ π§ Kernel : 22631
ββββββββ ββββββββ π Host : DESKTOP-EXAMPLE
ββββββββ ββββββββ β‘ CPU : Intel(R) Core(TM) i7-8700K (8 cores)
ββββββββ ββββββββ @ 3700 MHz
ββββββββ ββββββββ π§ Memory : 8.2 GB / 16.0 GB (51%) [ββββββββββββββββββββ]
ββββββββ ββββββββ
β° Uptime : 2h 15m
NextFetch displays comprehensive system information including:
- OS name and version
- Kernel version
- Hostname
- CPU model and core count
- CPU frequency
- Memory usage with visual bar
- Storage information
- GPU information (when available)
- System uptime
- Load averages (Linux/macOS)
- Boot time
NextFetch is designed for speed and efficiency:
- Sub-second execution: Typically completes in under 200ms
- Low memory usage: Uses less than 10MB of RAM
- Parallel collection: Gathers information concurrently
- Efficient rendering: Optimized output formatting
The project follows a modular architecture:
src/
βββ lib.rs # Main library entry point
βββ main.rs # CLI application entry point
βββ cli.rs # Command line interface
βββ config.rs # Configuration management
βββ models.rs # Data structures
βββ error.rs # Error handling
βββ ascii_art.rs # ASCII art management
βββ renderer.rs # Output rendering
βββ collectors/ # Information collectors
β βββ mod.rs
β βββ system.rs # OS information
β βββ hardware.rs # Hardware information
β βββ runtime.rs # Runtime information
βββ platform/ # Platform-specific implementations
βββ mod.rs
βββ windows.rs # Windows-specific code
βββ linux.rs # Linux-specific code
βββ macos.rs # macOS-specific code
# Debug build
cargo build
# Release build
cargo build --release
# Run tests
cargo testThe project includes comprehensive tests:
# Run all tests
cargo test
# Run specific test module
cargo test renderer::tests
# Run tests with output
cargo test -- --nocapture- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Make your changes
- Add tests for new functionality
- Ensure all tests pass (
cargo test) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
- Package managers support (Homebrew, Chocolatey, etc.)
- Config support
- Plugin system for custom information collectors
- Web interface for remote system monitoring
- JSON/XML output formats
- More ASCII art styles
- Theme marketplace
- Performance benchmarking tools
This project is licensed under the GPL-3 License - see the LICENSE file for details.
- Inspired by neofetch
- Built with Rust
- Uses sysinfo for system information
- ASCII art inspired by various community contributions
If you encounter any issues or have questions:
- Check the Issues page
- Create a new issue with detailed information
NextFetch - Fast, beautiful, and efficient system information at your fingertips! π