Fastfetch is a neofetch-like tool for fetching system information and displaying it prettily. It is written mainly in C, with performance and customizability in mind. Currently, Linux, Android, FreeBSD, macOS, SunOS and Windows 7+ are supported.
There are screenshots on different platforms.
Some distros package an outdated fastfetch version. Older versions receive no support, so please try always to use the latest version.
ppa:zhangsongcui3371/fastfetch
(for Ubuntu 22.04 or newer)apt install fastfetch
(for Debian 13 or newer)fastfetch-linux-<proper architecture>.deb
from Github release page and double-click it (for Ubuntu 20.04 or newer and Debian 11 or newer).pacman -S fastfetch
dnf install fastfetch
emerge --ask app-misc/fastfetch
apk add --upgrade fastfetch
nix-shell -p fastfetch
zypper install fastfetch
apt-get install fastfetch
cave resolve --execute app-misc/fastfetch
eopkg install fastfetch
sbopkg -i fastfetch
xbps-install fastfetch
scratch install fastfetch
You may need sudo
, doas
or sup
to run these commands.
See also if fastfetch has been packaged for your favorite Linux distro.
If fastfetch is not packaged for your distro or an outdated version is packaged, linuxbrew is a good alternative: brew install fastfetch
scoop install fastfetch
choco install fastfetch
winget install fastfetch
pacman -S mingw-w64-<subsystem>-<arch>-fastfetch
You may also download the program directly from the GitHub releases page in the form of an archive file.
pkg install fastfetch
pkg install fastfetch
See Wiki: https://github.com/fastfetch-cli/fastfetch/wiki/Building
fastfetch
fastfetch -c all.jsonc
fastfetch -s <module> --format json
fastfetch --help
fastfetch --arg1 --arg2 --gen-config
Fastfetch uses the JSONC (or JSON with comments) for configuration. See Wiki for detail. There are some premade config files in presets
, including the ones used for the screenshots above. You can load them using -c <filename>
. Those files can serve as examples of the configuration syntax.
Logos can also be heavily customized; see the logo documentation for more information.
cmake --build . --target package
cmake --install . --prefix /usr/local
fastfetch -c all
to find what you want.555 MiB
in the Memory module and 23 G
in the Disk module, whereas fastfetch prints 555.00 MiB
and 22.97 GiB
respectively.A local IP (10.x.x.x, 172.x.x.x, 192.168.x.x) has nothing to do with privacy. It only makes sense if you are on the same network, for example, if you connect to the same Wi-Fi network.
Actually the Local IP
module is the most useful module for me personally. I (@CarterLi) have several VMs installed to test fastfetch and often need to SSH into them. I have fastfetch running on shell startup and I never need to type ip addr
manually.
If you really don't like it, you can disable the Local IP
module in config.jsonc
.
Fastfetch
does not generate config file automatically. You can use fastfetch --gen-config
to generate one. The config file will be saved in ~/.config/fastfetch/config.jsonc
by default. See Wiki for detail.
Fastfetch uses JSON (with comments) for configuration. I suggest you use an IDE with JSON schema support (like VSCode) to edit it.
Alternatively, you can refer to the presets in presets
directory.
The correct way to edit the configuration:
This is an example that changes size prefix from MiB / GiB to MB / GB. Editor used: helix
Here is the documentation. It is generated from JSON schema but you won't like it.
Fastfetch uses format
to generate output. For example, to make the GPU
module show only the GPU name (leaving other information undisplayed), you can use
{
"modules": [
{
"type": "gpu",
"format": "{name}" // See `fastfetch -h gpu-format` for detail
}
]
}
. . which is equivalent to fastfetch -s gpu --gpu-format '{name}'
See fastfetch -h format
for information on basic usage. For module specific formattion, see fastfetch -h <module>-format
Try fastfetch -l /path/to/logo
. See logo documentation for detail.
If you just want to display distro name in FIGlet text:
# install pyfiglet and jq first
pyfiglet -s -f small_slant $(fastfetch -s os --format json | jq -r '.[0].result.name') && fastfetch -l none
See troubleshooting section: https://github.com/fastfetch-cli/fastfetch/wiki/Logo-options#troubleshooting
This issue usually happens when using fastfetch with p10k
. There are known incompatibility between fastfetch and p10k instant prompt.
The p10k doc clearly states that you should NOT print anything to stdout after p10k-instant-prompt
is initialized. You should either put fastfetch
before initialization of p10k-instant-prompt
(recommended)
You can always use fastfetch --pipe false
to force fastfetch running in colorful mode.
See #1096.
Neofetch incorrectly counts rc
packages ( the package has been removed, but that the configuration files remain ). Bug https://github.com/dylanaraps/neofetch/issues/2278
XXXX Device XXXX (VGA compatible)
. Is it a bug?Try upgrading pci.ids
: Download https://pci-ids.ucw.cz/v2.2/pci.ids and overwrite file /usr/share/hwdata/pci.ids
. For AMD GPUs, you should also upgrade amdgpu.ids
: Download https://gitlab.freedesktop.org/mesa/drm/-/raw/main/data/amdgpu.ids and overwrite file /usr/share/libdrm/amdgpu.ids
Alternatively, you may try to use fastfetch --gpu-driver-specific
, so that fastfetch
will try to ask the driver for GPU name if supported.
Try fastfetch --wm-detect-plugin
. See also #984
Fastfetch is a system information tool. We only accept hardware or system level software feature requests. For most personal uses, I recommend using Command
module to detect it yourself, which can be used to grab output from a custom shell script:
// This module shows the default editor
{
"modules": [
{
"type": "command",
"text": "$EDITOR --version | head -1",
"key": "Editor"
}
]
}
Otherwise, open a feature request in GitHub Issues.
If you find Fastfetch to be useful, please consider donating.
Give it a star to support us!