nidnogg / zeitfetch

Instantaneous snapshots of system information
MIT License
60 stars 11 forks source link
cli commandline-tool cross-platform fetch information rust system

zeitfetch 📸

Instantaneous snapshots of system information
Linux • macOS • Windows
![License](https://img.shields.io/github/license/nidnogg/zeitfetch?style=for-the-badge) ![Size](https://img.shields.io/github/repo-size/nidnogg/zeitfetch?color=orange&logo=rust&style=for-the-badge) ![Stars](https://img.shields.io/github/stars/nidnogg/zeitfetch?color=red&style=for-the-badge)

About

zeitfetch is a neofetch implementation in Rust aiming to be near instantaneous, with the least amount of dependencies possible.

Considering the shortage of fully cross platform screenfetch solutions (including Windows shells) this crate aims to fill that gap.

Several distros are currently supported, with more on the way. There has been a slew of Open Source contributions toward this effort as well. See the Contribution section if you're interested!

If your Linux distribution is not listed/not being actively tested on, most likely it will be missing a dedicated OS logo, so an ASCII rendition of Tux will be displayed instead.

Features

Fully cross platform compatible with Windows, macOS, and most Linux distros.

Customizable output. Choose between:

Installation

Using Cargo

With Cargo installed, run:

cargo install zeitfetch

Using Homebrew

On macOS, zeitfetch can also be installed via brew:

brew tap nidnogg/zeitfetch && brew install zeitfetch

Fedora

Available on Fedora 41+ stable repositories, zeitfetch can also be installed via dnf, via the rust-zeitfetch package:

sudo dnf update
sudo dnf install rust-zeitfetch

Usage

Just run:

zeitfetch

If you want to customize the output a bit, some options are listed below:

zeitfetch --no-logo     # omits logo
zeitfetch --logo-only   # omits sys info text
zeitfetch --minimal     # display logo + user prompt vertically

If you're unsure of what to use, run:

zeitfetch --help 
# alternatively, 
zeitfetch -h

Note for running on terminal boot

Some people like to run fetch programs as soon as any terminal tab is open (e.g: from within .bashrc).

For this, within Operating Systems other than macOS, Rust binaries have to be reloaded to the PATH environment variables before running the desired command. When editing out a .bashrc, .zshrc file or whichever is available, adding the following line before zeitfetch will ensure that it works correctly:

export PATH="$HOME/.cargo/bin:$PATH"

Contribution

If you feel like contributing to zeitfetch, feel free to fork it and open up a PR. Any merges will be checked for cargo fmt and cargo clippy.

So, before pushing changes to your branch, make sure you run:

# For checking formatting
cargo fmt --all --

# For linting
cargo clippy

To run the development environment, make sure you have both Rust and Cargo installed. After that, in the root directory, run:

cargo run

Current priorities list:

Most of the ASCII art from zeitfetch is not originally made by me, only slightly modified here and there. All of the respective credit for them is listed below:

OS Author Source
Debian dylanaraps neofetch
Ubuntu KittyKatt screenfetch
Fedora likw1dus pagure.io
Arch trizen wiki.archlinux.org (alsi)
Void Xaidee original design using neofetch as a reference
MacOS shelldandy neofetch PR
Windows 11 kiedtl winfetch
Windows 10 HotDog640 neofetch PR
Linux Joan Stark (jgs) Wikipedia

If any artists feel like this is an issue in particular, please feel free to drop me an email @ henriquevt98@gmail.com and I'll remove any infringing works ASAP.

Latest Updates

Check out the release notes!