FASTFETCH(1)

NAME
fastfetch - A fast and feature-rich system information tool similar to neofetch

SYNOPSIS
fastfetch [OPTIONS...]

DESCRIPTION

Fastfetch is a tool for displaying system information in a visually appealing way. Written primarily in C, it focuses on performance and customizability while providing functionality similar to neofetch. It supports Linux, Android, FreeBSD, macOS, and Windows 7 or newer.

CONFIGURATION

  Fetch Structure

The structure defines which modules to display and in what order. It consists of module names separated by colons (:). For example: title:separator:os:kernel:uptime

To list all available modules, use --list-modules

  Config Files

Fastfetch uses JSONC (JSON with Comments) for configuration files. These files must have the .jsonc extension.

You can generate a default config file using --gen-config. By default, the config file is saved at ~/.config/fastfetch/config.jsonc.

The configuration/preset files are searched in the following locations (in order):

1. Relative to the current working directory

2. Relative to ~/.local/share/fastfetch/presets/

3. Relative to /usr/share/fastfetch/presets/

For detailed information on logo options, module configuration, and formatting, visit: https://github.com/fastfetch-cli/fastfetch/wiki/Configuration

Fastfetch provides several built-in presets. List them with --list-presets.

  JSON Schema
A JSON schema is available for editor intelligence when editing the configuration file. Add the following line at the beginning of your config file:

"$schema": "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json"

OPTIONS

Options are parsed in a case-insensitive manner. For example, --logo-type and --LOGO-TYPE are treated identically.

Arguments in square brackets are optional. Optional boolean arguments default to 'true' when specified without a value.

For more detailed information about a specific option, use: fastfetch -h <option_name_without_dashes>

Any combination of options can be made permanent by generating a configuration file: fastfetch <options> --gen-config

  Informative

-h, --help [command]
     Display this help message or help for a specific command

-v, --version
     Show the full version of fastfetch

--version-raw
     Display the raw version string (major.minor.patch)

--list-config-paths
     List search paths for config files

--list-data-paths
     List search paths for presets and logos

--list-logos
     List available logos

--list-modules
     List available modules

--list-presets
     List presets that fastfetch knows about

     Presets can be loaded with "--config <preset-name>"

--list-features
     List the supported features that fastfetch was compiled with

     Mainly for development

--print-logos
     Display available logos

--print-structure
     Display the default structure

--format enum
     Set output format

  Config

-c, --config config
     Specify the config file or preset to load

     The file will be searched according to the order shown by "fastfetch --list-config-paths". Use "none" to disable further config loading. See also https://github.com/fastfetch-cli/fastfetch/wiki/Configuration for more info

--gen-config [path]
     Generate a config file at the specified path with options from the command line (if any)

     Defaults to "~/.config/fastfetch/config.jsonc". Will print the generated config if <path> is "-"

--gen-config-force [path]
     Generate a config file at the specified path, overwriting any existing file

     Defaults to "~/.config/fastfetch/config.jsonc"

  General

--thread [bool]
     Use separate threads for HTTP requests

--wmi-timeout num
     Set the timeout (ms) for WMI queries

     Windows only

--processing-timeout num
     Set the timeout (ms) when waiting for child processes

--ds-force-drm [enum]
     Specify whether only DRM should be used to detect displays

     Use this option if you encounter problems with other detection methods.
     Linux only

--detect-version [bool]
     Specify whether to detect and display versions of terminal, shell, editor, and others

     Mainly for benchmarking

  Logo

-l, --logo logo
     Set the logo source. Use "none" to disable the logo

     Should be the name of a built-in logo or a path to an image file. See also https://github.com/fastfetch-cli/fastfetch/wiki/Logo-options

--logo-type enum
     Set the type of the logo specified in "--logo"

     See also https://github.com/fastfetch-cli/fastfetch/wiki/Logo-options

--logo-width num
     Set the width of the logo (in characters) if it is an image

     Required for iTerm image protocol

--logo-height num
     Set the height of the logo (in characters) if it is an image

     Required for iTerm image protocol

--logo-preserve-aspect-ratio [bool]
     Specify whether the logo should fill the specified width and height as much as possible without stretching

     Supported by iTerm image protocol only

--logo-color-[1-9] color
     Override a color in the logo

     See `-h color` for the list of available colors

--logo-padding num
     Set the padding on the left and right sides of the logo

--logo-padding-left num
     Set the padding on the left side of the logo

--logo-padding-right num
     Set the padding on the right side of the logo

--logo-padding-top num
     Set the padding at the top of the logo

--logo-print-remaining [bool]
     Specify whether to print the remaining logo if it has more lines than modules to display

--logo-position enum
     Set the position where the logo should be displayed

--logo-recache [bool]
     If true, regenerate the image logo cache

--file path
     Short for --logo-type file --logo <path>

     See "--help logo-type" for more info

--file-raw path
     Short for --logo-type file-raw --logo <path>

     See "--help logo-type" for more info

--data data
     Short for --logo-type data --logo <data>

     See "--help logo-type" for more info

--data-raw data
     Short for --logo-type data-raw --logo <data>

     See "--help logo-type" for more info

--raw path
     Short for --logo-type raw --logo <path>

     See "--help logo-type" for more info

--sixel path
     Short for --logo-type sixel --logo <path>

     See "--help logo-type" for more info

--kitty path
     Short for --logo-type kitty --logo <path>

     See "--help logo-type" for more info

--kitty-direct path
     Short for --logo-type kitty-direct --logo <path>

     See "--help logo-type" for more info

--kitty-icat path
     Short for --logo-type kitty-icat --logo <path>

     See "--help logo-type" for more info

--iterm path
     Short for --logo-type iterm --logo <path>

     See "--help logo-type" for more info

--chafa path
     Short for --logo-type chafa --logo <path>

     See "--help logo-type" for more info

--chafa-fg-only [bool]
     Produce character-cell output using foreground colors only

     See chafa document for detail

--chafa-symbols str
     Specify character symbols to employ in final output

     See chafa document for detail

--chafa-canvas-mode enum
     Determine how colors are used in the output

     This value maps the int value of enum ChafaCanvasMode. See chafa document for detail

--chafa-color-space enum
     Set color space used for quantization

     This value maps the int value of enum ChafaColorSpace. See chafa document for detail

--chafa-dither-mode enum
     Set output dither mode (No effect with 24-bit color)

     This value maps the int value of enum ChafaDitherMode. See chafa document for detail

  Display

-s, --structure structure
     Set the structure of the fetch

     Must be a colon-separated list of keys. Use "fastfetch --list-modules" to see available options

--stat [bool]
     Show time usage (in ms) for individual modules

--pipe [bool]
     Disable colors

     Auto-detected based on isatty(1) by default

--color color
     Set the color of both keys and title

     Shortcut for "--color-keys <color>" and "--color-title <color>"
     For color syntax, see <https://github.com/fastfetch-cli/fastfetch/wiki/Color-Format-Specification>

--color-keys color
     Set the color of the keys

     Doesn't affect Title, Separator, and Colors modules. See `-h color` for the list of available colors

--color-title color
     Set the color of the title

     See `-h color` for the list of available colors

--color-output color
     Set the color of module output

     See `-h color` for the list of available colors

--color-separator color
     Set the color of the key-value separator

     See `-h color` for the list of available colors

--duration-abbreviation [bool]
     Specify whether to abbreviate duration values

     If true, the output will be in the form of "1h 2m" instead of "1 hour, 2 mins"

--duration-space-before-unit enum
     Specify whether to put a space before the unit in duration values

--key-width num
     Align the width of keys to <num> characters

--key-padding-left num
     Set the left padding of keys to <num> characters

--key-type enum
     Specify whether to show an icon before string keys

--bright-color [bool]
     Specify whether keys, title, and ASCII logo should be printed in bright color

--separator str
     Set the separator between key and value

--show-errors [bool]
     Print errors when they occur

--disable-linewrap [bool]
     Specify whether to disable line wrap during execution

--hide-cursor [bool]
     Specify whether to hide the cursor during execution

--percent-type num
     Set the percentage output type

     1 for percentage number
     2 for multi-color bar
     3 for both
     6 for bar only
     9 for colored number
     10 for monochrome bar

--percent-ndigits num
     Set the number of digits to keep after the decimal point when formatting percentage numbers

--percent-color-green color
     Set color used for the green state of percentage bars and numbers

     See `-h color` for the list of available colors

--percent-color-yellow color
     Set color used for the yellow state of percentage bars and numbers

     See `-h color` for the list of available colors

--percent-color-red color
     Set color used for the red state of percentage bars and numbers

     See `-h color` for the list of available colors

--percent-space-before-unit enum
     Specify whether to put a space before the percentage symbol

--percent-width num
     Specify the width of the percentage number, in number of characters

     This option affects only percentage numbers, not bars

--bar-char-elapsed str
     Set the character to use in the elapsed part of percentage bars

--bar-char-total str
     Set the character to use in the total part of percentage bars

--bar-border-left string
     Set the string to use at the left border of percentage bars

--bar-border-right string
     Set the string to use at the right border of percentage bars

--bar-width num
     Set the width of percentage bars in characters

--no-buffer [bool]
     Specify whether the stdout application buffer should be disabled

--size-ndigits num
     Set the number of digits to keep after the decimal point when formatting sizes

--size-binary-prefix enum
     Set the binary prefix to use when formatting sizes

--size-max-prefix enum
     Set the largest binary prefix to use when formatting sizes

--size-space-before-unit enum
     Specify whether to put a space before the unit

--freq-ndigits num
     Set the number of digits to keep after the decimal point when printing CPU/GPU frequency in GHz

--freq-space-before-unit enum
     Specify whether to put a space before the unit

--fraction-ndigits num
     Set the number of digits to keep after the decimal point when printing ordinary fraction numbers

     If negative, the number of digits will be automatically determined based on the value

--temp-unit enum
     Set the temperature unit

--temp-ndigits num
     Set the number of digits to keep after the decimal point when printing temperature

--temp-color-green color
     Set color used for the green state of temperature values

     See `-h color` for the list of available colors

--temp-color-yellow color
     Set color used for the yellow state of temperature values

     See `-h color` for the list of available colors

--temp-color-red color
     Set color used for the red state of temperature values

     See `-h color` for the list of available colors

--temp-space-before-unit enum
     Specify whether to put a space before the unit

  Module specific

--title-fqdn [bool]
     Specify whether the title should use fully qualified domain name

--title-color-user color
     Set the color of the user name (left part)

     See `-h color` for the list of available colors

--title-color-at color
     Set the color of the @ symbol (middle part)

     See `-h color` for the list of available colors

--title-color-host color
     Set the color of the host name (right part)

     See `-h color` for the list of available colors

--separator-string str
     Set the string to be printed by the separator line

--separator-output-color color
     Set the color of the separator line

--separator-length num
     Set the length of the separator line

     Set to 0 to automatically calculate it based on the title length

--disk-folders path
     A colon (semicolon on Windows) separated list of folder paths to detect

     On Windows, a drive letter must be upper-cased and end with "

--disk-hide-folders path
     A colon (semicolon on Windows) separated list of folder paths to hide from the disk output

--disk-hide-fs string
     A colon separated list of file systems to hide from the disk output

--disk-show-regular [bool]
     Specify whether regular volumes should be displayed

--disk-show-external [bool]
     Specify whether external volumes should be displayed

--disk-show-hidden [bool]
     Specify whether hidden volumes should be displayed

--disk-show-subvolumes [bool]
     Specify whether subvolumes should be displayed

--disk-show-readonly [bool]
     Specify whether read-only volumes should be displayed

--disk-show-unknown [bool]
     Specify whether unknown volumes (unable to detect sizes) should be displayed

--disk-use-available [bool]
     Use f_bavail (lpFreeBytesAvailableToCaller for Windows) instead of f_bfree to calculate used bytes

     May be required for macOS to display correct results

--diskio-detect-total bool
     Detect total bytes instead of current rate

--diskio-name-prefix str
     Show only disks with the given name prefix

--diskio-wait-time num
     Set the wait time (in ms) when detecting disk usage

--physicaldisk-name-prefix str
     Show only disks with the given name prefix

--physicaldisk-temp [bool]
     Detect and display SSD temperature if supported

--bluetooth-show-disconnected [bool]
     Specify whether disconnected Bluetooth devices should be displayed

--packages-disabled string
     A colon-separated list of package managers to disable when detecting

     Some detection methods can be very slow.
     You may need to increase the value of '--processing-timeout' to make it work properly.
     Use `--packages-disabled none` to enable all.

--packages-combined [bool]
     Whether to combine related package managers into single counts

     e.g., nix-system + nix-user = nix

--display-compact-type enum
     Specify whether all displays should be printed in one line

--display-precise-refresh-rate [bool]
     Specify whether decimal refresh rates should not be rounded to integers when printing

--display-order enum
     Set the order to use when printing displays

--brightness-ddcci-sleep num
     Set the sleep time (in ms) when sending DDC/CI requests

     See <https://www.ddcutil.com/performance_options/#option-sleep-multiplier> for details

--brightness-compact bool
     Specify whether multiple results should be printed in one line

--sound-type enum
     Set which types of sound devices should be displayed

--battery-use-setup-api [bool]
     Specify whether "SetupAPI" should be used on Windows to detect battery info

     SetupAPI supports multiple batteries, but is slower.
     Windows only

--cpu-temp [bool]
     Detect and display CPU temperature if supported

--cpu-show-pe-core-count [bool]
     Detect and display CPU frequency of different core types (e.g., P-cores and E-cores) if supported

--cpucache-compact [bool]
     Show all CPU caches in one line

--cpuusage-separate [bool]
     Display CPU usage per logical core, instead of an average result

--cpuusage-wait-time num
     Set the wait time (in ms) when detecting CPU usage

--de-slow-version-detection [bool]
     Specify whether DE version should be detected with slower operations

     This is only used as a fallback method. Please file a bug report if you encounter any issues.
     Linux only

--gpu-temp [bool]
     Detect and display GPU temperature if supported

--gpu-driver-specific [bool]
     Use driver-specific methods to detect more detailed GPU information (memory usage, core count, etc.)

     Requires the latest GPU drivers to be installed.

--gpu-detection-method enum
     Force using a specified method to detect GPUs

     Will fall back to other methods if the specified method fails

--gpu-hide-type enum
     Specify which types of GPUs should not be displayed (default: all GPUs are shown, regardless of recognition)

--battery-temp [bool]
     Detect and display battery temperature if supported

--loadavg-ndigits num
     Set the number of digits to keep after the decimal point when printing load average

--loadavg-compact [bool]
     Show load average values in one line

--localip-show-ipv4 [bool]
     Show IPv4 addresses in the local IP module

--localip-show-ipv6 [bool]
     Show IPv6 addresses in the local IP module

--localip-show-mac [bool]
     Show MAC addresses in the local IP module

--localip-show-loop [bool]
     Show loopback addresses (127.0.0.1) in the local IP module

--localip-show-mtu [bool]
     Show network interface MTU (Maximum Transmission Unit) size in bytes

--localip-show-speed [bool]
     Show network interface link speed in human-readable format (or as a 1Mb units integer in JSON format)

--localip-show-prefix-len [bool]
     Show network prefix length (/N) in the local IP module

--localip-name-prefix str
     Show only interfaces with the given interface name prefix

--localip-default-route-only [bool]
     Show only the interface that is used for default routing

     Doesn't work on Android

--localip-show-all-ips [bool]
     Show all IPs bound to the same interface. By default, only the first IP is shown

--localip-show-flags [bool]
     Show network interface flags in the local IP module

--localip-compact [bool]
     Show all IPs in one line

--dns-show-type enum
     Specify which types of DNS servers should be detected

--netio-name-prefix str
     Show only interfaces with the given name prefix

--netio-default-route-only [bool]
     Show only the interface that is used for default routing

     Doesn't work on Android

--netio-detect-total bool
     Detect total bytes instead of current rate

--netio-wait-time num
     Set the wait time (in ms) when detecting network usage

--publicip-timeout num
     Time in milliseconds to wait for the public IP server to respond

     0 to disable timeout

--publicip-url str
     The URL of the public IP detection server to use

--publicip-ipv6 bool
     Specify whether to use IPv6 for the public IP detection server

--weather-location str
     Set the location to use

     Must be URI encoded (e.g., a whitespace must be encoded as "+")

--weather-timeout num
     Time in milliseconds to wait for the weather server to respond

     0 to disable timeout

--weather-output-format str
     The output weather format to use

     Must be URI encoded

--wm-detect-plugin [bool]
     Specify whether window manager plugins should be detected on supported platforms

--users-compact [bool]
     Show all active users in one line

--users-myself-only [bool]
     Show only the current user

--player-name str
     The name of the player to use for the Media and Player modules

     Linux only

--opengl-library enum
     Set the OpenGL context creation library to use

--command-shell str
     Set the shell program to execute the command text

--command-param str
     Set the parameter to use when starting the shell

     If set to an empty string, it will be ignored

--command-key str
     Set the module key to display

--command-text str
     Set the command text to execute

--colors-symbol enum
     Set the symbol to be printed by the Colors module

--colors-padding-left num
     Set the number of white spaces to print before the symbol

--colors-block-width num
     Set the block width in spaces

--colors-block-range-start num
     Set the start range of colors in the blocks to print

     Display colors 0-15 in the blocks. (16 colors)
     Display colors 0-7 in the blocks. (8 colors)
     Only works for `--colors-symbol block`.
     Must be in range 0-15
     See also `--colors-range-end`

--colors-block-range-end num
     Set the end range of colors in the blocks to print

     Display colors 0-15 in the blocks. (16 colors)
     Display colors 0-7 in the blocks. (8 colors)
     Only works for `--colors-symbol block`.
     Must be in range 0-15
     See also `--colors-range-start`

  General module

--<module>-format format
     Set the format string to use for a specific module
     See <https://github.com/fastfetch-cli/fastfetch/wiki/Format-String-Guide>
     For help about a specific format string, use "fastfetch -h <module>-format"

--<module>-key key
     Set the key to use for a specific module.
     For modules that print multiple lines, the string is parsed
     as a format string with the index as the first character

--<module>-key-color color
     Override the global "--color-keys" option for a specific module

--<module>-key-icon string
     Set the icon to be displayed by "--key-type icon"

--<module>-output-color color
     Override the global "--color-output" option for a specific module

--<module>-key-width num
     Override the global "--key-width" option for a specific module

--<module>-percent-green num
     Threshold for percentage color ranges
     Values less than percent-green will be shown in green

--<module>-percent-yellow num
     Threshold for percentage color ranges
     Values greater than percent-green and less than percent-yellow will be shown in yellow
     Values greater than percent-yellow will be shown in red

--<module>-percent-type num
     Set the percentage output type

     0 to use global `--percent-type` value
     1 for percentage number
     2 for multi-color bar
     3 for both
     6 for bar only
     9 for colored number
     10 for monochrome bar

--<module>-temp-green num
     Threshold for temperature color ranges
     Values less than temp-green will be shown in green

--<module>-temp-yellow num
     Threshold for temperature color ranges
     Values greater than temp-green and less than temp-yellow will be shown in yellow
     Values greater than temp-yellow will be shown in red

EXAMPLES

  Basic Usage
fastfetch

  Use a specific logo
fastfetch --logo arch

  Custom structure
fastfetch --structure title:os:kernel:uptime:memory

  Generate a config file
fastfetch --gen-config

  Use a preset
fastfetch --config neofetch

  Config File Example
// ~/.config/fastfetch/config.jsonc
{
    "$schema": "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json",
    "logo": {
        "type": "auto",
        "source": "arch"
    },
    "display": {
        "separator": ": ",
        "color": {
            "keys": "blue",
            "title": "red"
        },
        "key": {
            "width": 12
        }
    },
    "modules": [
        "title",
        "separator",
        "os",
        "kernel",
        "uptime",
        {
            "type": "memory",
            "format": "{used}/{total} ({used_percent}%)"
        }
    ]
}

SEE ALSO
neofetch(1)

BUGS
Please report bugs to: https://github.com/fastfetch-cli/fastfetch/issues

AUTHORS
Fastfetch is developed by a team of contributors on GitHub. Visit https://github.com/fastfetch-cli/fastfetch for more information.