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

--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

--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

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

--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

  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-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.

--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

--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.