EXFETCH(1)

NAME
exfetch - extensible system information fetching utility

SYNOPSIS
exfetch [-AClnOrT] [-a ascii] [-c color] [-f lines] [-o order] [-p padding] [-P name] [-s separator] [-h]

DESCRIPTION
The exfetch utility displays system and user information in a customizable, scriptable format. The design is a spiritual successor to crfetch. It provides predictable, consistent output without auto-detection. It is fully extensible via shell integration and command-line flags.

By default:

Labels are printed in non-nerdfont uppercase with left justification, a single-space separator is used, all available labels are printed, the color is 4 (blue), the separator is ' -> ', ASCII offset is 0, ANSI escape sequences are printed, and the ASCII art is 'Tear'.

Output is sent to standard output.

OPTIONS

-A, --list-ascii
    List all built-in ASCII art names, then exit.

-C, --list-colors
    List all available color names and their corresponding codes, then exit.

-O, --list-labels
    List all available labels that can be used with the -o option, then exit.

-P name, --preview-ascii=name
    Render the named built-in ASCII art in the terminal for preview, then exit.

-T, --text-only
    Disable ANSI escape sequences in output.

-a ascii, --ascii=ascii
    Specify ASCII art by built-in name or file path. If a file path is given, its contents are used.

-c color, --color=color
    Set text color by name or code (0-15). Overrides the default color. Use -C to list (and preview) choices.

-f lines, --ascii-offset=lines
    Set ASCII to offset by lines.

    Will return 1 if lines is less than 0.

-h, --help
    Show a brief help message detailing supported options, then exit.

-l, --lowercase
    Use lowercase labels instead of uppercase.

-n, --nerd-icons
    Enable Nerd Font icons for specific labels if the terminal font supports them.

-o order, --order=order
    Specify a comma-separated list of labels to define the output order. Labels not listed will be omitted.

-p padding, --padding=padding
    Set padding (number of spaces) on the left and right of ASCII art. Only the last digit of padding is used (0-9).

-r, --right-justify
    Right-justify labels in the output.

-s separator, --separator=separator
    Specify the separator string between labels and values. The default separator is a single space.

EXIT STATUS

0   Successful execution (including listing or preview).

1   Invalid option or argument.

EXAMPLES
List system information with lowercase labels and purple text:

    $ exfetch -l -c 5

Display Nerd Font icons and use a custom separator ': ':

    $ exfetch -n -s ': '

Right-justify labels and specify a custom order:

    $ exfetch -r -o 'os,user,load,cpu,mem'

Use cowsay fortune ASCII art with padding of two spaces (Only works on shells with process substitution):

    $ exfetch -a <(cowsay $(fortune -o)) -p 2

Randomly select an ASCII art file from a directory:

    $ exfetch -a $(ls ~/ascii_arts/* | shuf -n 1)

SEE ALSO
sh(1)

HISTORY
exfetch was created as a modular, scriptable extension of crfetch, a minimal system information tool focused on clean, consistent output. exfetch removes hardcoding and instead emphasizes composability, user-defined ordering, and shell extensibility. The project began in 2024 to better suit unix-y workflows and to improve manpage integration, portability, and maintainability.

AUTHORS
izzy Meyer <izder456@disroot.org>

CREDITS
ASCII art adapted from pfetch (MIT Licensed).

Inspiration and initial prototype ideas based on crfetch