- Notifications
You must be signed in to change notification settings - Fork533
A maintained, feature-rich and performance oriented, neofetch like system information tool.
License
fastfetch-cli/fastfetch
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Fastfetch is aneofetch-like tool for fetching system information and displaying it in a visually appealing way. It is written mainly in C, with a focus on performance and customizability. Currently, it supports Linux, macOS, Windows 7+, Android, FreeBSD, OpenBSD, NetBSD, DragonFly, Haiku, and SunOS.
According configuration files for examples are locatedhere.
There arescreenshots on different platforms.
Some distributions package outdated versions of fastfetch. Older versions receive no support, so please always try to use the latest version.
- Ubuntu:
ppa:zhangsongcui3371/fastfetch
(for Ubuntu 22.04 or newer) - Debian:
apt install fastfetch
(for Debian 13 or newer) - Debian / Ubuntu: Download
fastfetch-linux-<proper architecture>.deb
fromGithub release page and double-click it (for Ubuntu 20.04 or newer and Debian 11 or newer). - Arch Linux:
pacman -S fastfetch
- Fedora:
dnf install fastfetch
- Gentoo:
emerge --ask app-misc/fastfetch
- Alpine:
apk add --upgrade fastfetch
- NixOS:
nix-shell -p fastfetch
- openSUSE:
zypper install fastfetch
- ALT Linux:
apt-get install fastfetch
- Exherbo:
cave resolve --execute app-misc/fastfetch
- Solus:
eopkg install fastfetch
- Slackware:
sbopkg -i fastfetch
- Void Linux:
xbps-install fastfetch
- Venom Linux:
scratch install fastfetch
You may needsudo
,doas
, orsup
to run these commands.
If fastfetch is not packaged for your distribution or an outdated version is packaged,linuxbrew is a good alternative:brew install fastfetch
- scoop:
scoop install fastfetch
- Chocolatey:
choco install fastfetch
- winget:
winget install fastfetch
- MSYS2 MinGW:
pacman -S mingw-w64-<subsystem>-<arch>-fastfetch
You may also download the program directly fromthe GitHub releases page in the form of an archive file.
- FreeBSD:
pkg install fastfetch
- NetBSD:
pkgin in fastfetch
- OpenBSD:
pkg_add fastfetch
(Snapshots only) - DragonFly BSD:
pkg install fastfetch
(Snapshots only)
pkg install fastfetch
https://nightly.link/fastfetch-cli/fastfetch/workflows/ci/dev?preview
See the Wiki:https://github.com/fastfetch-cli/fastfetch/wiki/Building
- Run with default configuration:
fastfetch
- Run withall supported modules to find what interests you:
fastfetch -c all.jsonc
- View all data that fastfetch detects:
fastfetch -s <module1>[:<module2>][:<module3>] --format json
- Display help messages:
fastfetch --help
- Generate a config file based on command line arguments:
fastfetch --arg1 --arg2 --gen-config
Fastfetch uses JSONC (JSON with comments) for configuration.See the Wiki for details. There are some premade config files in thepresets
directory, including those used for the screenshots above. You can load them using-c <filename>
. These files can serve as examples of the configuration syntax.
Logos can also be heavily customized; see thelogo documentation for more information.
- Fastfetch is actively maintained.
- Fastfetch is faster, as the name suggests.
- Fastfetch has a greater number of features, though by default it only has a few modules enabled; use
fastfetch -c all
to discover what you want. - Fastfetch is more configurable. You can find more information in the Wiki:https://github.com/fastfetch-cli/fastfetch/wiki/Configuration.
- Fastfetch is more polished. For example, neofetch prints
555 MiB
in the Memory module and23 G
in the Disk module, whereas fastfetch prints555.00 MiB
and22.97 GiB
respectively. - Fastfetch is more accurate. For example,neofetch never actually supports the Wayland protocol.
A local IP address (10.x.x.x, 172.x.x.x, 192.168.x.x) has nothing to do with privacy. It only has meaning if you are on the same network, for example, if you connect to the same Wi-Fi network.
Actually, theLocal 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. With fastfetch running on shell startup, I never need to typeip addr
manually.
If you really don't like it, you can disable theLocal IP
module inconfig.jsonc
.
Fastfetch does not generate a config file automatically. You can usefastfetch --gen-config
to generate one. The config file will be saved in~/.config/fastfetch/config.jsonc
by default. See theWiki for details.
Fastfetch uses JSON (with comments) for configuration. I suggest using an IDE with JSON schema support (like VSCode) to edit it.
Alternatively, you can refer to the presets in thepresets
directory.
Thecorrect way to edit the configuration:
This is an example thatchanges size prefix from MiB / GiB to MB / GB. Editor used:helix
Here is the documentation. It is generated from theJSON schema, but you might not find it very user-friendly.
Fastfetch usesformat
to generate output. For example, to make theGPU
module show only the GPU name (leaving other information undisplayed), you can use:
{"modules": [ {"type":"gpu","format":"{name}"// See `fastfetch -h gpu-format` for details } ]}
...which is equivalent tofastfetch -s gpu --gpu-format '{name}'
Seefastfetch -h format
for information on basic usage. For module-specific formatting, seefastfetch -h <module>-format
Tryfastfetch -l /path/to/logo
. See thelogo documentation for details.
If you just want to display the distro name inFIGlet text:
# install pyfiglet and jq firstpyfiglet -s -f small_slant$(fastfetch -s os --format json| jq -r'.[0].result.name')&& fastfetch -l none
See the troubleshooting section:https://github.com/fastfetch-cli/fastfetch/wiki/Logo-options#troubleshooting
This issue usually occurs when using fastfetch withp10k
. There are known incompatibilities between fastfetch and p10k instant prompt.The p10k documentation clearly states that you should NOT print anything to stdout afterp10k-instant-prompt
is initialized. You should putfastfetch
before the initialization ofp10k-instant-prompt
(recommended).
You can always usefastfetch --pipe false
to force fastfetch to run in colorful mode.
See#1096.
Neofetch incorrectly countsrc
packages (packages that have been removed but still have configuration files remaining). See bug:dylanaraps/neofetch#2278
Q: I use Debian / Ubuntu / Debian-derived distro. My GPU is detected asXXXX Device XXXX (VGA compatible)
. Is this a bug?
Try upgradingpci.ids
: Downloadhttps://pci-ids.ucw.cz/v2.2/pci.ids and overwrite the file/usr/share/hwdata/pci.ids
. For AMD GPUs, you should also upgradeamdgpu.ids
: Downloadhttps://gitlab.freedesktop.org/mesa/drm/-/raw/main/data/amdgpu.ids and overwrite the file/usr/share/libdrm/amdgpu.ids
Alternatively, you may try usingfastfetch --gpu-driver-specific
, which will make fastfetch attempt to ask the driver for the GPU name if supported.
Q: I get the errorAuthorization required, but no authorization protocol specified
when running fastfetch as root
Tryexport XAUTHORITY=$HOME/.Xauthority
Tryfastfetch --wm-detect-plugin
. See also#984
Tryfastfetch --logo-color-[1-9] <color>
, where[1-9]
is the index of color placeholders.
For example:fastfetch --logo-color-1 red --logo-color-2 green
.
In JSONC, you can use:
{"logo": {"color": {"1":"red","2":"green" } }}
Set the key to a white space.
{"key":""}
As of April 2025:
mintty (used by Bash on Windows and MSYS2) and Wezterm (nightly build only) support the iTerm image protocol on Windows.
Inconfig.jsonc
:
{"logo": {"type":"iterm","source":"C:/path/to/image.png","width":<num-in-chars> }}
Windows Terminal supports the sixel image protocol only.
- If you installed fastfetch through MSYS2:
- Install imagemagick:
pacman -S mingw-w64-<subsystem>-x86_64-imagemagick
- In
config.jsonc
:
- Install imagemagick:
{"logo": {"type":"sixel",// DO NOT USE "auto""source":"C:/path/to/image.png",// Do NOT use `~` as fastfetch is a native Windows program and doesn't apply cygwin path conversion"width":<image-width-in-chars>,// Optional"height":<image-height-in-chars>// Optional }}
- If you installed fastfetch via scoop or downloaded the binary directly from the GitHub Releases page:
- Convert your image manually to sixel format usingany online image conversion service
- In
config.jsonc
:
{"logo": {"type":"raw",// DO NOT USE "auto""source":"C:/path/to/image.sixel","width":<image-width-in-chars>,// Required"height":<image-height-in-chars>// Required }}
Fastfetch is a system information tool. We only accept hardware or system-level software feature requests. For most personal uses, I recommend using theCommand
module to implement custom functionality, 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, please open a feature request inGitHub Issues.
- For usage questions, please start a discussion inGitHub Discussions.
- For possible bugs, please open an issue inGitHub Issues. Be sure to fill out the bug report template carefully to help developers investigate.
If you find Fastfetch useful, please consider donating.
- Current maintainer:@CarterLi
- Original author:@LinusDierheimer
Give us a star to show your support!
About
A maintained, feature-rich and performance oriented, neofetch like system information tool.
Topics
Resources
License
Code of conduct
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Uh oh!
There was an error while loading.Please reload this page.