Code Monkey home page Code Monkey logo

zeitfetch's Introduction

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)
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 @ [email protected] and I'll remove any infringing works ASAP.

Latest Updates

Check out the release notes!

zeitfetch's People

Contributors

elpapimango avatar imntreal avatar mirsario avatar nidnogg avatar triarius avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

zeitfetch's Issues

macOS Display detection for `GPU` row

Currently, the GPU field will not display anything for ARM based macOS devices. I have not yet tested this in Intel macs, but it should technically work on Linux according to @triarius (I'm unsure of the tested distro).

RHEL Support

If you'd like to add something like:

^[[?25l^[[?7l^[[0m^[[31m^[[1m           .MMM..:MMMMMMM
          MMMMMMMMMMMMMMMMMM
          MMMMMMMMMMMMMMMMMMMM.
         MMMMMMMMMMMMMMMMMMMMMM
        ,MMMMMMMMMMMMMMMMMMMMMM:
        MMMMMMMMMMMMMMMMMMMMMMMM
  .MMMM'  MMMMMMMMMMMMMMMMMMMMMM
 MMMMMM    `MMMMMMMMMMMMMMMMMMMM.
MMMMMMMM      MMMMMMMMMMMMMMMMMM .
MMMMMMMMM.       `MMMMMMMMMMMMM' MM.
MMMMMMMMMMM.                     MMMM
`MMMMMMMMMMMMM.                 ,MMMMM.
 `MMMMMMMMMMMMMMMMM.          ,MMMMMMMM.
    MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
      MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM:
         MMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
            `MMMMMMMMMMMMMMMMMMMMMMMM:
                ``MMMMMMMMMMMMMMMMM'

To the logos, I'd be happy to test on RHEL for you.

Hide info that is cannot be found

Currently, if there is an error fetching some of the info rows, an N/A is displayed. I think it will look nicer if we just hide the row instead.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.