An open API service indexing awesome lists of open source software.

https://github.com/David17c/Dfetch

A lightweight system information tool focused on clean output
https://github.com/David17c/Dfetch

cli dfetch

Last synced: 6 days ago
JSON representation

A lightweight system information tool focused on clean output

Awesome Lists containing this project

README

          

# Dfetch

Dfetch is a lightweight system information tool focused on clean output, fast startup times, and simple configuration. It provides useful system details without the complexity of heavily customizable alternatives.


Output example Pop os
output example Linux MInt


Output example Debian
Output example Fedora

## Why use this?

Dfetch is designed for those who want a simple system information tool with sensible defaults, clean output, and fast startup times. Rather than prioritizing extensive customization, Dfetch focuses on being lightweight, easy to configure, and pleasant to use.

## Features

- Fast startup time
- Simple configuration file
- Useful, clutter-free system information
- Custom ASCII art support
- Configurable modules
- No external dependencies
- Clean default look

## Installation

To install Dfetch, visit [the releases page](https://github.com/David17c/Dfetch/releases) and either download the package for your operating system, download a prebuilt binary, or build Dfetch from source.

## Customization

`~/.config/Dfetch/Dfetch.conf`

```
// Lines starting with `//` are comments and are ignored by Dfetch.
// In the modules section, you can change which information is displayed and in what order.

// Insert empty lines in the modules block to get empty lines in the final output.
modules {
userinfo
os
host
kernel
uptime
shell
terminal
de
packages
cpu
ram
swap
disk
motherboard
local_ip
// battery
// time
// date
}

custom_ascii: default
// Set a custom ASCII logo by providing the path to a text file containing it.

accent_color: default
// Color used for the information labels.

// Available colors:
// black, red, green, yellow, blue,
// magenta, cyan, white,
// bright_black, bright_red,
// bright_green, bright_yellow,
// bright_blue, bright_magenta,
// bright_cyan, bright_white
```

## Supported Linux distributions

| Distribution | Status |
|--------------|--------|
| Arch | Tested |
| Artix | Untested |
| Bazzite | Tested |
| CachyOS | Tested |
| Debian | Tested |
| EndeavourOS | Tested |
| Fedora | Tested |
| Linux Mint | Tested |
| Manjaro | Tested |
| NixOS | Untested |
| OpenSUSE Leap | Tested |
| OpenSUSE Tumbleweed | Tested |
| Pop!_OS | Tested |
| Ubuntu | Tested |
| Zorin OS | Tested |

If your favorite distribution isn't listed, it may still be supported. This table only includes distributions that have built-in ASCII art.

Most of the listed distributions have been tested, but bugs may still exist. Since Dfetch isn't continuously tested on every supported distribution, some issues may go unnoticed.

## How to make a custom ascii art

Save your ASCII art in a text file. It should look something like this.

```
...-:::::-...
.-MMMMMMMMMMMMMMM-.
.-MMMM`..-:::::::-..`MMMM-.
.:MMMM.:MMMMMMMMMMMMMMM:.MMMM:.
-MMM-M---MMMMMMMMMMMMMMMMMMM.MMM-
:MMM:MM` :MMMM:....::-...-MMMM:MMM:
:MMM:MMM` :MM:` `` `` `:MMM:MMM:
.MMM.MMMM` :MM. -MM. .MM- `MMMM.MMM.
:MMM:MMMM` :MM. -MM- .MM: `MMMM-MMM:
:MMM:MMMM` :MM. -MM- .MM: `MMMM:MMM:
:MMM:MMMM` :MM. -MM- .MM: `MMMM-MMM:
.MMM.MMMM` :MM:--:MM:--:MM: `MMMM.MMM.
:MMM:MMM- `-MMMMMMMMMMMM-` -MMM-MMM:
:MMM:MMM:` `:MMM:MMM:
.MMM.MMMM:--------------:MMMM.MMM.
'-MMMM.-MMMMMMMMMMMMMMM-.MMMM-'
'.-MMMM``--:::::--``MMMM-.'
'-MMMMMMMMMMMMM-'
``-:::::-``
```

You can then optionally add colors by using color tags. For a list of supported colors look at the default config file.

```
${bright_white}...-:::::-...
${bright_white} .-MMMMMMMMMMMMMMM-.
${bright_white} .-MMMM${green}`..-:::::::-..`${bright_white}MMMM-.
${bright_white} .:MMMM${green}.:MMMMMMMMMMMMMMM:.${bright_white}MMMM:.
${bright_white} -MMM${green}-M---MMMMMMMMMMMMMMMMMMM.${bright_white}MMM-
${bright_white} :MMM${green}:MM` :MMMM:....::-...-MMMM:${bright_white}MMM:
${bright_white} :MMM${green}:MMM` :MM:` `` `` `:MMM:${bright_white}MMM:
${bright_white}.MMM${green}.MMMM` :MM. -MM. .MM- `MMMM.${bright_white}MMM.
${bright_white}:MMM${green}:MMMM` :MM. -MM- .MM: `MMMM-${bright_white}MMM:
${bright_white}:MMM${green}:MMMM` :MM. -MM- .MM: `MMMM:${bright_white}MMM:
${bright_white}:MMM${green}:MMMM` :MM. -MM- .MM: `MMMM-${bright_white}MMM:
${bright_white}.MMM${green}.MMMM` :MM:--:MM:--:MM: `MMMM.${bright_white}MMM.
${bright_white} :MMM${green}:MMM- `-MMMMMMMMMMMM-` -MMM-${bright_white}MMM:
${bright_white} :MMM${green}:MMM:` `:MMM:${bright_white}MMM:
${bright_white} .MMM${green}.MMMM:--------------:MMMM.${bright_white}MMM.
${bright_white} '-MMMM${green}.-MMMMMMMMMMMMMMM-.${bright_white}MMMM-'
${bright_white} '.-MMMM${green}``--:::::--``${bright_white}MMMM-.'
${bright_white} '-MMMMMMMMMMMMM-'
${bright_white} ``-:::::-``
accent_color: green
```

At the bottom of the file add an accent color: `accent_color: COLOR`. This is the color given to the info module labels.

In your config file, set: `custom_ascii: PATH_TO_FILE`. Dfetch should now be using your ASCII art.