bfetch 0.1.4

A small, fast sysfetch for Linux, macOS, Termux, and Proxmox
# bfetch

A small, fast sysfetch for Linux, macOS, Termux, and Proxmox. It puts the
useful facts beside the right bit of distro ASCII and otherwise stays out of the
way.

`bfetch` is a single Rust binary with no crate dependencies. It reads the
system directly, so it is handy on lean installs and machines where a fetch
command should just be a fetch command.

## What it shows

Hostname, OS, kernel, device, uptime, locale, installed packages, shell, init,
desktop environment, window manager, displays, CPU, GPUs, memory, root-disk
usage, and virtualization/container details when they can be detected.

It knows ASCII for Arch-family distros, Artix, Bedrock, Debian/Ubuntu, Fedora,
Gentoo, Alpine, NixOS, openSUSE, Void, macOS, Android/Termux, and Proxmox. Other
systems get good old Tux.

## Build and run

Via Crates.io:
```
cargo install bfetch
```
Manually:
```
# Clone the repo and cd into it
git clone https://github.com/bulletic/bfetch.git && cd bfetch

# Or if GitHub is down/other reason
git clone https://gitlab.com/bulletic/bfetch.git && cd bfetch

# Compile it and add to your PATH
cargo install --path .
```


## Use it your way

```sh
# Plain, no-colour output
bfetch --grey

# Keep the details; lose the box
bfetch --no-box

# Pick an accent colour (hex without #)
bfetch --color:5f5f5f

# Colour only the labels (keeps ASCII/values on distro colours)
bfetch --label-color:848484

# Pipe system facts somewhere useful
bfetch --json

# Run with a costum ASCII
bfetch --ascii:arch
```


Run `bfetch --help` for the complete flag list.

## Persistent tweaks

Settings live at `$XDG_CONFIG_HOME/bfetch/config`, or
`~/.config/bfetch/config` when `XDG_CONFIG_HOME` is not set. You do not need to
edit it by hand:

```sh
# Hide a line
bfetch --set Kernel:false

# Replace an existing value with your own text
bfetch --set "Device:shitbox"

# Choose the artwork instead of letting bfetch detect it
bfetch --set ascii:debian

# Colour the labels only (bold), e.g. dark grey
bfetch --set labelcolor:848484

# Line up values in the information panel
bfetch --set spacing:aligned

# Make flags the default(e.g. runs flags without you typing them)
bfetch --set "default:--no-box --grey"

# Start over (asks before removing the config)
bfetch --set reset
```

Any displayed label can be hidden with `:false` or overridden with a value.
The available labels are printed if you try an unknown one.

## License

bfetch is licensed under the GNU General Public License v3.0.
See [LICENSE](LICENSE) for the full text.