Skip to content

Latest commit

 

History

History
108 lines (80 loc) · 2.89 KB

File metadata and controls

108 lines (80 loc) · 2.89 KB

RustFetch

A system information tool written in Rust, similar to screenfetch. Displays beautifull ASCII art logo alongside your system information.

Features

  • Displays Ubuntu ASCII art logo
  • Shows comprehensive system information:
    • OS and Kernel version
    • System uptime
    • Installed packages count
    • Shell information
    • Screen resolution
    • Desktop Environment
    • Window Manager
    • GTK Theme and Icon Theme
    • Font information
    • Disk usage
    • CPU details
    • GPU information
    • RAM usage

Installation

From Source

git clone https://github.com/dima-antonenko/rustfetch.git
cd rustfetch
cargo build --release
sudo cp target/release/rustfetch /usr/local/bin/

Using Cargo

cargo install --path .

Usage

Simply run:

rustfetch

Requirements

  • Rust 1.70 or later
  • Linux system (tested on Ubuntu/Debian)
  • Various system utilities (uname, xrandr, etc.)

Example Output

RustFetch Screenshot

Example text output:

                          ./+o+-       dima@notebook
                  yyyyy- -yyyyyy+      OS: Ubuntu 22.04 jammy
               ://+//////-yyyyyyo      Kernel: x86_64 Linux 6.8.0-85-generic
           .++ .:/++++++/-.+sss/`      Uptime: 11d 2h 15m
         .:++o:  /++++++++/:--:/-      Packages: 2242
        o:+o+:++.`..```.-/oo+++++/     Shell: bash 5.1.16
       .:+o:+o/.          `+sssoo+/    Resolution: 3840x2160
  .++/+:+oo+o:`             /sssooo.   DE: GNOME 41.7
 /+++//+:`oo+o               /::--:.   WM: Mutter
 \+/+o+++`o++o               ++////.   WM Theme: Adwaita
  .++.o+++oo+:`             /dddhhh.   GTK Theme: Yaru-viridian-dark [GTK2/3]
       .+.o+oo:.          `oddhhhh+    Icon Theme: Yaru-viridian
        \+.++o+o``-````.:ohdhhhhh+     Font: Ubuntu 10
         `:o+++ `ohhhhhhhhyo++os:      Disk: 386G / 1,2T (34%)
           .o:`.syhhhhhhh/.oo++o`      CPU: Intel Core i7-8750H @ 12x 4,1GHz
               /osyyyyyyo++ooo+++/     GPU: NVIDIA GeForce GTX 1050 Ti
                   ````` +oo+++o\:     RAM: 14725MiB / 31783MiB

How It Works

RustFetch collects system information from various sources:

  • /proc/ filesystem for kernel, CPU, RAM, and uptime information
  • Environment variables for user, shell, and desktop environment
  • System commands like uname, xrandr, lspci, etc.
  • Configuration files like /etc/os-release and /etc/hostname
  • Package manager commands (dpkg, pacman) for package counts

Contributing

Contributions are welcome! Feel free to open an issue or submit a pull request.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgments

  • Inspired by screenfetch
  • Written in Rust for performance and safety

Author

Dmitry Antonenko