Fastfetch

From Gentoo Wiki
Jump to:navigation Jump to:search
This article is a stub. Please help out by expanding it - how to get started.

Fastfetch is a neofetch-like tool for fetching system information and displaying them in a pretty way. It is written mainly in C, with performance and customizability in mind.

Installation

USE flags

USE flags for app-misc/fastfetch Fast neofetch-like system information tool

X Add support for X11
chafa Enables text/graphics renderer with media-gfx/chafa
dbus Enable dbus support for anything that needs it (gpsd, gnomemeeting, etc)
ddcutil Use app-misc/ddcutil to query monitor settings
drm Enables support for X.org's x11-libs/libdrm
gnome Add GNOME support
imagemagick Enable optional support for the ImageMagick or GraphicsMagick image converter
networkmanager Enable net-misc/networkmanager support
nvidia-gpu Enables extra support for NVIDIA GPU
opencl Enable OpenCL support (computation on GPU)
opengl Add support for OpenGL (3D graphics)
osmesa Enables offscreen rendering support from media-libs/mesa
pulseaudio Add sound server support via media-libs/libpulse (may be PulseAudio or PipeWire)
sqlite Add support for sqlite - embedded sql database
test Enable dependencies and/or preparations necessary to run tests (usually controlled by FEATURES=test but can be toggled independently)
vulkan Enables reading GPU via media-libs/vulkan-loader
wayland Enable dev-libs/wayland backend
xcb Support the X C-language Binding, a replacement for Xlib
xfce Enables support for XFCE config
xrandr Enables support for Xrandr

Emerge

root #emerge --ask app-misc/fastfetch

Configuration

Files

Important
Fastfetch's config language uses JSONC, not JSON! Make sure the file extension is .jsonc.

The simplest fastfetch config.jsonc looks like:

FILE ~/.config/config.jsonc
// ~/.config/fastfetch/config.jsonc
{
    "$schema": "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json"
}

Usage

You can see your system configuration by running:

user $fastfetch

Invocation

user $fastfetch --help
Fastfetch is a neofetch-like tool for fetching system information and displaying them in a pretty way

Usage: fastfetch <?options>

Informative options:
  -h, --help <?command>                      Show this message, or help for a specific command
  -v, --version                              Show the full version of fastfetch
      --version-raw                          Show the raw version string (major.minor.patch)
      --list-config-paths                    List search paths of config files
      --list-data-paths                      List search paths of presets and logos
      --list-logos                           List available logos
      --list-modules                         List available modules
      --list-presets                         List presets fastfetch knows about
      --list-features                        List the supported features fastfetch was compiled with
      --print-logos                          Print available logos
      --print-structure                      Print the default structure

Config options:
  -c, --config <config>                      Specify the config file or preset to be loaded
      --gen-config <?path>                   Generate a config file to specified path with options specified in the command line (if any)
      --gen-config-force <?path>             Generate a config file to specified path. Overwrite the existing one

pseudo options:
      --thread <?bool>                       Use separate threads to send HTTP requests
      --escape-bedrock <?bool>               On Bedrock Linux, whether to escape the bedrock jail
      --wmi-timeout <num>                    Set the timeout (ms) for WMI queries
      --processing-timeout <num>             Set the timeout (ms) when waiting for child processes
      --ds-force-drm <?bool>                 Set if only DRM should be used to detect displays

Logo options:
  -l, --logo <logo>                          Set the logo source
      --logo-type <enum>                     Set the type of the logo given in "--logo"
      --logo-width <num>                     Set the width of the logo (in characters), if it is an image
      --logo-height <num>                    Set the height of the logo (in characters), if it is an image
      --logo-preserve-aspect-ratio <?bool>   Set if the logo should fill the specified width and height as much as possible without stretching
      --logo-color-[1-9] <color>             Overwrite a color in the logo
      --logo-padding <num>                   Set the padding on the left and the right of the logo
      --logo-padding-left <num>              Set the padding on the left of the logo
      --logo-padding-right <num>             Set the padding on the right of the logo
      --logo-padding-top <num>               Set the padding on the top of the logo
      --logo-print-remaining <?bool>         Whether to print the remaining logo, if it has more lines than modules to display
      --logo-separate <?bool>                If true, print modules at bottom of the logo
      --logo-recache <?bool>                 If true, regenerate image logo cache
      --file <path>                          Short for --logo-type file --logo <path>
      --file-raw <path>                      Short for --logo-type file-raw --logo <path>
      --data <data>                          Short for --logo-type data --logo <data>
      --data-raw <data>                      Short for --logo-type data-raw --logo <data>
      --raw <path>                           Short for --logo-type raw --logo <path>
      --sixel <path>                         Short for --logo-type sixel --logo <path>
      --kitty <path>                         Short for --logo-type kitty --logo <path>
      --kitty-direct <path>                  Short for --logo-type kitty-direct --logo <path>
      --iterm <path>                         Short for --logo-type iterm --logo <path>
      --chafa <path>                         Short for --logo-type chafa --logo <path>
      --chafa-fg-only <?bool>                Produce character-cell output using foreground colors only
      --chafa-symbols <str>                  Specify character symbols to employ in final output
      --chafa-canvas-mode <enum>             Determine how colors are used in the output
      --chafa-color-space <enum>             Set color space used for quantization
      --chafa-dither-mode <enum>             Set output dither mode (No effect with 24-bit color)

Display options:
  -s, --structure <structure>                Set the structure of the fetch
      --stat <?bool>                         Show time usage (in ms) for individual modules
      --pipe <?bool>                         Disable logo and all escape sequences
      --color-keys <color>                   Set the color of the keys
      --color-title <color>                  Set the color of the title
      --color <color>                        Set the color of both the keys and title
      --key-width <num>                      Align the width of keys to <num> characters
      --bright-color <?bool>                 Set if the keys, title and ASCII logo should be printed in bright color
      --separator <str>                      Set the separator between key and value
      --set <key=value>                      Hard set the value of a key
      --set-keyless <key=value>              Hard set the value of a key, but don't print the key or the separator
      --show-errors <?bool>                  Print occurring errors
      --disable-linewrap <?bool>             Whether to disable line wrap during the run
      --hide-cursor <?bool>                  Whether to hide the cursor during the run
      --binary-prefix <enum>                 Set the binary prefix to used
      --percent-type <num>                   Set the percentage output type
      --percent-ndigits <num>                Set the number of digits to keep after the decimal point when formatting percentage numbers
      --bar-char-elapsed <str>               Set the character to use in elapsed part of percentage bars
      --bar-char-total <str>                 Set the character to use in total part of percentage bars
      --bar-width <num>                      Set the width of percentage bars, in number of characters
      --bar-border <?bool>                   Whether to show a border around percentage bars
      --no-buffer <?bool>                    Set if 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-max-prefix <enum>               Set the largest binary prefix to use when formatting sizes
      --temperature-unit <enum>              Set the unit of the temperature

Library path options:
      --lib-pci <path>                       Pciutils. Used for GPU output
      --lib-vulkan <path>                    Vulkan module & fallback for GPU output
      --lib-wayland <path>                   Better display performance and output in wayland sessions
      --lib-xcb-randr <path>                 X11 sessions for better display detection and faster WM detection
      --lib-xcb <path>                       X11 sessions for better display detection and faster WM detection
      --lib-xrandr <path>                    X11 sessions for better display detection and faster WM detection
      --lib-x11 <path>                       X11 sessions for better display detection and faster WM detection
      --lib-drm <path>                       Used for fast resolution and refresh rate detection
      --lib-gio <path>                       Needed for values that are only stored GSettings
      --lib-dconf <path>                     Needed for values that are only stored in DConf + Fallback for GSettings
      --lib-dbus <path>                      Bluetooth, Player & Media detection
      --lib-xfconf <path>                    Needed for XFWM theme and XFCE Terminal font
      --lib-sqlite3 <path>                   Needed for pkg & rpm package count
      --lib-rpm <path>                       Slower fallback for rpm package count
      --lib-imagemagick <path>               Images in terminal using sixel or kitty graphics protocol
      --lib-z <path>                         Libz. Faster image output when using kitty graphics protocol
      --lib-chafa <path>                     Image output as ascii art
      --lib-egl <path>                       Needed by the OpenGL module for gl context creation
      --lib-glx <path>                       Needed by the OpenGL module for gl context creation
      --lib-osmesa <path>                    Needed by the OpenGL module for gl context creation
      --lib-opencl <path>                    OpenCL module
      --lib-pulse <path>                     Pulseaudio. Used for Sound detection
      --lib-nm <path>                        NetworkManager. Used for Wifi detection
      --lib-freetype <path>                  Used for Termux font detection
      --lib-ddcutil <path>                   Used for brightness detection of external displays

Module specific options:
      --title-fqdn <?bool>                   Set if the title should use fully qualified domain name
      --title-color-user <color>             Set color of the user name (left part)
      --title-color-at <color>               Set color of the @ symbol (middle part)
      --title-color-host <color>             Set color of the host name (right part)
      --chassis-use-wmi <?bool>              Set if WMI query should be used on Windows
      --separator-string <str>               Set the string printed by the separator module
      --os-file <path>                       Set the additional file path which containing OS information
      --disk-folders <path>                  A colon (semicolon on Windows) separated list of folder paths for the disk output
      --disk-show-regular <?bool>            Set if regular volume should be printed
      --disk-show-external <?bool>           Set if external volume should be printed
      --disk-show-hidden <?bool>             Set if hidden volumes should be printed
      --disk-show-subvolumes <?bool>         Set if subvolumes should be printed
      --disk-show-readonly <?bool>           Set if read only volumes should be printed
      --disk-show-unknown <?bool>            Set if unknown (unable to detect sizes) volumes should be printed
      --disk-use-available <?bool>           Use f_bavail (lpFreeBytesAvailableToCaller for Windows) instead of f_bfree to calculate used bytes
      --diskio-name-prefix <str>             Show disks with given name prefix only
      --bluetooth-show-disconnected <?bool>  Set if disconnected bluetooth devices should be printed
      --packages-winget <?bool>              Set if winget package count should be detected
      --display-compact-type <enum>          Set if all displays should be printed in one line
      --display-precise-refresh-rate <?bool> Set if decimal refresh rates should not be rounded into integers when printing
      --brightness-ddcci-sleep <num>         Set the sleep times (in ms) when sending DDC/CI requests
      --sound-type <enum>                    Set what type of sound devices should be printed
      --battery-dir <path>                   The directory where the battery folders are
      --battery-use-setup-api <?bool>        Set if "SetupAPI" should be used on Windows to detect battery info
      --cpu-temp <?bool>                     Detect and display CPU temperature if supported
      --cpu-freq-ndigits <num>               Set the number of digits to keep after the decimal point when printing CPU frequency
      --cpuusage-separate <?bool>            Display CPU usage per CPU logical core, instead of an average result
      --de-slow-version-detection <?bool>    Set if DE version should be detected with slow operations
      --gpu-temp <?bool>                     Detect and display GPU temperature if supported
      --gpu-use-nvml <?bool>                 Use nvml (NVIDIA Management Library) to detect more detailed GPU information
      --gpu-force-vulkan <?bool>             Force using vulkan to detect GPUs
      --gpu-hide-type <enum>                 Specify the type of GPUs should not be printed
      --battery-temp <?bool>                 Detect and display Battery temperature if supported
      --localip-show-ipv4 <?bool>            Show IPv4 addresses in local ip module
      --localip-show-ipv6 <?bool>            Show IPv6 addresses in local ip module
      --localip-show-mac <?bool>             Show mac addresses in local ip module
      --localip-show-loop <?bool>            Show loop back addresses (127.0.0.1) in local ip module
      --localip-name-prefix <str>            Show interfaces with given interface name prefix only
      --localip-default-route-only <?bool>   Show the interface that is used for default routing only
      --localip-compact <?bool>              Show all IPs in one line
      --netio-name-prefix <str>              Show interfaces with given name prefix only
      --netio-default-route-only <?bool>     Show the interfac that is used for default routing only
      --publicip-timeout <num>               Time in milliseconds to wait for the public ip server to respond
      --publicip-url <str>                   The URL of public IP detection server to be used
      --weather-location <str>               Set the location to be used
      --weather-timeout <num>                Time in milliseconds to wait for the weather server to respond
      --weather-output-format <str>          The output weather format to be used
      --wm-detect-plugin <?bool>             Set if window manager plugin should be detected on supported platforms
      --player-name <str>                    The name of the player to use for module Media and Player
      --opengl-library <enum>                Set the OpenGL context creation library to use
      --command-shell <str>                  Set the shell program to execute the command text
      --command-key <str>                    Set the module key to display
      --command-text <str>                   Set the command text to be executed
      --colors-symbol <enum>                 Set the symbol to be printed by Colors module
      --colors-padding-left <num>            Set the number of white spaces to print before the symbol

General module options:
      --<module>-format <format>             Set the format string to use for each specific module
                                             To see how a format string works, use "fastfetch -h format".
                                             To see help about a specific format string, use "fastfetch -h <module>-format"
      --<module>-key <key>                   Set the key to use for each specific module.
                                             For modules which print multiple lines, the string is parsed
                                             as a format string with the index as first character
      --<module>-key-color <color>           Override the global "--color-keys" option for each specific module
      --<module>-key-width <num>             Override the global "--key-width" option for each specific module


Parsing is not case sensitive. E.g. "--lib-PCI" is equal to "--Lib-Pci"
If a value starts with a ?, it is optional. An optional boolean value defaults to true if not specified.
More detailed help messages for each options can be printed with "-h <option_without_dash_prefix>"
All options can be made permanent with command "fastfetch <options> --gen-config"

See also

  • neofetch — a command-line system information tool that displays information about the operating system, software, and hardware in an aesthetic and visually pleasing way.