neofetch cli system information

Updated 21-Sep-2023

Neofetch is a CLI system information tool written in BASH. Neofetch displays information about your system next to an image, your OS logo, or any ASCII file of your choice. It is an active Github repository with 230 contributors and over 5,000 edits.

Neofetch Readme

> Neofetch is a command-line system information tool written in bash 3.2+. Neofetch displays information about your operating system, software and hardware in an aesthetic and visually pleasing way. > > The overall purpose of Neofetch is to be used in screen-shots of your system. Neofetch shows the information other people want to see. There are other tools available for proper system statistic/diagnostics. > > The information by default is displayed alongside your operating system's logo. You can further configure Neofetch to instead use an image, a custom ASCII file, your wallpaper or nothing at all. > > You can further configure Neofetch to display exactly what you want it to. Through the use of command-line flags and the configuration file you can change existing information outputs or add your own custom ones. > > Neofetch supports almost 150 different operating systems. From Linux to Windows, all the way to more obscure operating systems like Minix, AIX and Haiku. If your favourite operating system is unsupported: Open up an issue and support will be added.

Neofetch Example

This Neofetch example shows the various kinds of information that are displayed when running the command neofetch:

Neofetch usage options

Neofetch is highly configurable, with a plethora of usage options.

func_name                   Specify a function name (second part of info() from config) to
                            quickly display only that function's information.

                            Example: neofetch uptime --uptime_shorthand tiny
                            Example: neofetch uptime disk wm memory

                            This can be used in bars and scripts like so:

                            memory="$(neofetch memory)"; memory="${memory##*: }"

                            For multiple outputs at once (each line of info in an array):
                            IFS=$'\n' read -d "" -ra info < <(neofetch memory uptime wm)
                            info=("${info[@]##*: }")

--disable infoname          Allows you to disable an info line from appearing
                            in the output. 'infoname' is the function name from the
                            'print_info()' function inside the config file.
                            For example: 'info "Memory" memory' would be '--disable memory'

                            NOTE: You can supply multiple args. eg. 'neofetch --disable cpu gpu'

--title_fqdn on/off         Hide/Show Fully Qualified Domain Name in title.
--package_managers on/off   Hide/Show Package Manager names . (on, tiny, off)
--os_arch on/off            Hide/Show OS architecture.
--speed_type type           Change the type of cpu speed to display.
                            Possible values: current, min, max, bios,
                            scaling_current, scaling_min, scaling_max

                            NOTE: This only supports Linux with cpufreq.

--speed_shorthand on/off    Whether or not to show decimals in CPU speed.

                            NOTE: This flag is not supported in systems with CPU speed less than
                            1 GHz.

--cpu_brand on/off          Enable/Disable CPU brand in output.
--cpu_cores type            Whether or not to display the number of CPU cores
                            Possible values: logical, physical, off

                            NOTE: 'physical' doesn't work on BSD.

--cpu_speed on/off          Hide/Show cpu speed.
--cpu_temp C/F/off          Hide/Show cpu temperature.

                            NOTE: This only works on Linux and BSD.

                            NOTE: For FreeBSD and NetBSD-based systems, you need to enable
                            coretemp kernel module. This only supports newer Intel processors.

--distro_shorthand on/off   Shorten the output of distro (on, tiny, off)

                            NOTE: This option won't work in Windows (Cygwin)

--kernel_shorthand on/off   Shorten the output of kernel

                            NOTE: This option won't work in BSDs (except PacBSD and PC-BSD)

--uptime_shorthand on/off   Shorten the output of uptime (on, tiny, off)
--refresh_rate on/off       Whether to display the refresh rate of each monitor
                            Unsupported on Windows
--gpu_brand on/off          Enable/Disable GPU brand in output. (AMD/NVIDIA/Intel)
--gpu_type type             Which GPU to display. (all, dedicated, integrated)

                            NOTE: This only supports Linux.

--de_version on/off         Show/Hide Desktop Environment version
--gtk_shorthand on/off      Shorten output of gtk theme/icons
--gtk2 on/off               Enable/Disable gtk2 theme/font/icons output
--gtk3 on/off               Enable/Disable gtk3 theme/font/icons output
--shell_path on/off         Enable/Disable showing $SHELL path
--shell_version on/off      Enable/Disable showing $SHELL version
--disk_show value           Which disks to display.
                            Possible values: '/', '/dev/sdXX', '/path/to/mount point'

                            NOTE: Multiple values can be given. (--disk_show '/' '/dev/sdc1')

--disk_subtitle type        What information to append to the Disk subtitle.
                            Takes: name, mount, dir, none
                            'name' shows the disk's name (sda1, sda2, etc)
                            'mount' shows the disk's mount point (/, /mnt/Local Disk, etc)
                            'dir' shows the basename of the disks's path. (/, Local Disk, etc)
                            'none' shows only 'Disk' or the configured title.

--disk_percent on/off       Hide/Show disk percent.

--ip_host url               URL to query for public IP
--ip_timeout int            Public IP timeout (in seconds).
--song_format format        Print the song data in a specific format (see config file).
--song_shorthand on/off     Print the Artist/Album/Title on separate lines.
--memory_percent on/off     Display memory percentage.
--memory_unit kib/mib/gib   Memory output unit.
--music_player player-name  Manually specify a player to use.
                            Available values are listed in the config file

--colors x x x x x x        Changes the text colors in this order:
                            title, @, underline, subtitle, colon, info
--underline on/off          Enable/Disable the underline.
--underline_char char       Character to use when underlining title
--bold on/off               Enable/Disable bold text
--separator string          Changes the default ':' separator to the specified string.

--color_blocks on/off       Enable/Disable the color blocks
--col_offset auto/num      Left-padding of color blocks
--block_width num           Width of color blocks in spaces
--block_height num          Height of color blocks in lines
--block_range num num       Range of colors to print as blocks

--bar_char 'elapsed char' 'total char'
                            Characters to use when drawing bars.
--bar_border on/off         Whether or not to surround the bar with '[]'
--bar_length num            Length in spaces to make the bars.
--bar_colors num num        Colors to make the bar.
                            Set in this order: elapsed, total
--cpu_display mode          Bar mode.
                            Possible values: bar, infobar, barinfo, off
--memory_display mode       Bar mode.
                            Possible values: bar, infobar, barinfo, off
--battery_display mode      Bar mode.
                            Possible values: bar, infobar, barinfo, off
--disk_display mode         Bar mode.
                            Possible values: bar, infobar, barinfo, off

--backend backend           Which image backend to use.
                            Possible values: 'ascii', 'caca', 'chafa', 'jp2a', 'iterm2',
                            'off', 'sixel', 'tycat', 'w3m', 'kitty'
--source source             Which image or ascii file to use.
                            Possible values: 'auto', 'ascii', 'wallpaper', '/path/to/img',
                            '/path/to/ascii', '/path/to/dir/', 'command output' [ascii]
--ascii source              Shortcut to use 'ascii' backend.
                            NEW: neofetch --ascii "$(fortune | cowsay -W 30)"

--caca source               Shortcut to use 'caca' backend.
--chafa source              Shortcut to use 'chafa' backend.
--iterm2 source             Shortcut to use 'iterm2' backend.
--jp2a source               Shortcut to use 'jp2a' backend.
--kitty source              Shortcut to use 'kitty' backend.
--pot source                Shortcut to use 'pot' backend.
--pixterm source            Shortcut to use 'pixterm' backend.
--sixel source              Shortcut to use 'sixel' backend.
--termpix source            Shortcut to use 'termpix' backend.
--tycat source              Shortcut to use 'tycat' backend.
--w3m source                Shortcut to use 'w3m' backend.
--off                       Shortcut to use 'off' backend (Disable ascii art).

NOTE: 'source; can be any of the following: 'auto', 'ascii', 'wallpaper', '/path/to/img',
'/path/to/ascii', '/path/to/dir/'

--ascii_colors x x x x x x  Colors to print the ascii art
--ascii_distro distro       Which Distro's ascii art to print

                            NOTE: AIX, Alpine, AlterLinux, Anarchy, Android, Antergos, antiX,
                            "AOSC OS", "AOSC OS/Retro", Apricity, ArcoLinux, ArchBox,
                            ARCHlabs, ArchStrike, XFerience, ArchMerge, Arch, Artix, Arya,
                            Bedrock, Bitrig, BlackArch, BLAG, BlankOn, BlueLight, bonsai, BSD,
                            BunsenLabs, Calculate, Carbs, CentOS, Chakra, ChaletOS, Chapeau,
                            Chrom, Cleanjaro, ClearOS, Clear_Linux, Clover, Condres,
                            Container_Linux, CRUX, Cucumber, Debian, Deepin, DesaOS, Devuan,
                            DracOS, DarkOs, DragonFly, Drauger, Elementary, EndeavourOS, Endless,
                            EuroLinux, Exherbo, Fedora, Feren, FreeBSD, FreeMiNT, Frugalware,
                            Funtoo, GalliumOS, Garuda, Gentoo, Pentoo, gNewSense, GNOME, GNU,
                            GoboLinux, Grombyang, Guix, Haiku, Huayra, Hyperbola, janus, Kali,
                            KaOS, KDE_neon, Kibojoe, Kogaion, Korora, KSLinux, Kubuntu, LEDE,
                            LFS, Linux_Lite, LMDE, Lubuntu, Lunar, macos, Mageia, MagpieOS,
                            Mandriva, Manjaro, Maui, Mer, Minix, LinuxMint, MX_Linux, Namib,
                            Neptune, NetBSD, Netrunner, Nitrux, NixOS, Nurunner, NuTyX,
                            OBRevenge, OpenBSD, openEuler, OpenIndiana, openmamba, OpenMandriva,
                            OpenStage, OpenWrt, osmc, Oracle, OS Elbrus, PacBSD, Parabola,
                            Pardus, Parrot, Parsix, TrueOS, PCLinuxOS, Peppermint, popos,
                            Porteus, PostMarketOS, Proxmox, Puppy, PureOS, Qubes, Radix,
                            Raspbian, Reborn_OS, Redstar, Redcore, Redhat, Refracted_Devuan,
                            Regata, Rosa, sabotage, Sabayon, Sailfish, SalentOS, Scientific,
                            Septor, SereneLinux, SharkLinux, Siduction, Slackware, SliTaz,
                            SmartOS, Solus, Source_Mage, Sparky, Star, SteamOS, SunOS,
                            openSUSE_Leap, openSUSE_Tumbleweed, openSUSE, SwagArch, Tails,
                            Trisquel, Ubuntu-Budgie, Ubuntu-GNOME, Ubuntu-MATE, Ubuntu-Studio,
                            Ubuntu, Venom, Void, Obarun, windows10, Windows7, Xubuntu, Zorin,
                            and IRIX have ascii logos

                            NOTE: Arch, Ubuntu, Redhat, and Dragonfly have 'old' logo variants.

                            NOTE: Use '{distro name}_old' to use the old logos.

                            NOTE: Ubuntu has flavor variants.

                            NOTE: Change this to Lubuntu, Kubuntu, Xubuntu, Ubuntu-GNOME,
                            Ubuntu-Studio, Ubuntu-Mate  or Ubuntu-Budgie to use the flavors.

                            NOTE: Arcolinux, Dragonfly, Fedora, Alpine, Arch, Ubuntu,
                            CRUX, Debian, Gentoo, FreeBSD, Mac, NixOS, OpenBSD, android,
                            Antrix, CentOS, Cleanjaro, ElementaryOS, GUIX, Hyperbola,
                            Manjaro, MXLinux, NetBSD, Parabola, POP_OS, PureOS,
                            Slackware, SunOS, LinuxLite, OpenSUSE, Raspbian,
                            postmarketOS, and Void have a smaller logo variant.

                            NOTE: Use '{distro name}_small' to use the small variants.

--ascii_bold on/off         Whether or not to bold the ascii logo.
-L, --logo                  Hide the info text and only show the ascii logo.

--loop                      Redraw the image constantly until Ctrl+C is used. This fixes issues
                            in some terminals emulators when using image mode.
--size 00px | --size 00%    How to size the image.
                            Possible values: auto, 00px, 00%, none
--crop_mode mode            Which crop mode to use
                            Takes the values: normal, fit, fill
--crop_offset value         Change the crop offset for normal mode.
                            Possible values: northwest, north, northeast,
                            west, center, east, southwest, south, southeast
--xoffset px                How close the image will be to the left edge of the
                            window. This only works with w3m.
--yoffset px                How close the image will be to the top edge of the
                            window. This only works with w3m.
--bg_color color            Background color to display behind transparent image.
                            This only works with w3m.
--gap num                   Gap between image and text.
                            NOTE: --gap can take a negative value which will move the text
                            closer to the left side.
--clean                     Delete cached files and thumbnails.

--config /path/to/config    Specify a path to a custom config file
--config none               Launch the script without a config file
--no_config                 Don't create the user config file.
--print_config              Print the default config file to stdout.
--stdout                    Turn off all colors and disables any ASCII/image backend.
--help                      Print this text and exit
--version                   Show neofetch version
-v                          Display error messages.
-vv                         Display a verbose log for error reporting.

--gen-man                   Generate a manpage for Neofetch in your PWD. (Requires GNU help2man)

Report bugs to