12 releases

0.1.13 Aug 11, 2024
0.1.12 Jul 5, 2024
0.1.11 May 28, 2024
0.1.10 Feb 6, 2024
0.1.2 Oct 25, 2022

#143 in Operating systems

MIT license

49KB
970 lines

zeitfetch 📸

Instantaneous snapshots of system information
Linux • macOS • Windows

License Size Stars

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.

It's in early stages at the moment, and support for Windows 10, Windows 11, Mac OS X, Debian, Ubuntu, Fedora and Arch is implemented for the time being, with more on the way.

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:

  • full info + logo (default, similar to neofetch)
  • no-logo
  • logo-only
  • minimal
  • custom logo (coming soon)

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

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:

  • More distro ASCII Art in hex escape code format;
  • Variable color configs for bolded text sections;
  • Some refactoring here and there.

Disclaimer for ASCII logos

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!

Dependencies

~7–16MB
~194K SLoC