logo

crate downloads license ci publish

A blazingly fast system fetch program to pair with onefetch


preview


Installation

Install from crates.io

bash cargo install punfetch

Build from source

bash git clone https://github.com/ozwaldorf/punfetch.git cd punfetch make install

Usage

```man $ punfetch -h A blazingly fast system fetch designed to replicate the look of onefetch.

Usage: punfetch [OPTIONS]

Options: --distro Distribution to search art for (e.g. "Manjaro" or "Ubuntu") -i, --image Image to display in place of the distro art --show-logo Show the logo [default: always] [possible values: always, never, auto] --color-mode Color mode to use [default: hex] [possible values: hex, ansi, none] --color Text color to use. Accepts ansi or hex color codes -h, --help Print help -V, --version Print version ```

Library

Punfetch is also a library to implement custom system fetchers! See the docs for more information and examples.

Contributing

This project follows conventional commits

⚠️ Over 200 distributions are already supported, but many do not have colors defined. If your distro is not colored, please open a PR to update it!

Adding a new distribution

New distributions can easily be supported by adding a new entry to the distros.yaml file

yaml "Examplo Linux": regex: "(examplo|examplo_old)" # Optional, regex to match against. Autogenerated if not provided. colors: # Optional, default fg will be used if not specified ansi: - white # The first color is used for the info text # - bright_green # - magenta # - etc, hex: # Optional, ansi colors will be used if not specified - "#ffffff" ascii: | # The ascii art to display! {0} _nnnn_ {0} dGGGGMMb {0} @p~qp~~qMb {0} M|@||@) M| {0} @,----.JM| {0} JS^\__/ qKL {0} dZP qKRb {0} dZP qKKb {0} fZP SMMb {0} HZM MMMM {0} FqM MMMM {0} __| ". |\dS"qML {0} | `. | `' \Zq {0}_) \.___.,| .' {0}\____ )MMMMMP| .' {0} `-' `--'

If there are multiple patterns that could be used to identify the distribution, or the title of the distribution is lengthy, a regex should be provided. Patterns should be simple, lowercase, and A-z, 0-9 only.