Files
fastfetch/README.md
T

188 lines
9.6 KiB
Markdown
Raw Normal View History

# Fastfetch
2021-03-07 13:12:45 +01:00
2023-12-04 14:39:03 +08:00
[![GitHub Workflow Status (with event)](https://img.shields.io/github/actions/workflow/status/fastfetch-cli/fastfetch/ci.yml)](https://github.com/fastfetch-cli/fastfetch/actions)
[![GitHub license](https://img.shields.io/github/license/fastfetch-cli/fastfetch)](https://github.com/fastfetch-cli/fastfetch/blob/dev/LICENSE)
[![GitHub contributors](https://img.shields.io/github/contributors/fastfetch-cli/fastfetch)](https://github.com/fastfetch-cli/fastfetch/graphs/contributors)
[![GitHub top language](https://img.shields.io/github/languages/top/fastfetch-cli/fastfetch?logo=c&label=)](https://github.com/fastfetch-cli/fastfetch/blob/dev/CMakeLists.txt#L5)
2023-12-04 14:40:35 +08:00
[![GitHub commit activity (branch)](https://img.shields.io/github/commit-activity/m/fastfetch-cli/fastfetch)](https://github.com/fastfetch-cli/fastfetch/commits)
2023-12-04 14:39:03 +08:00
[![homebrew downloads](https://img.shields.io/homebrew/installs/dm/fastfetch?logo=homebrew)](https://formulae.brew.sh/formula/fastfetch#default)
[![GitHub all releases](https://img.shields.io/github/downloads/fastfetch-cli/fastfetch/total?logo=github)](https://github.com/fastfetch-cli/fastfetch/releases)
[![GitHub release (with filter)](https://img.shields.io/github/v/release/fastfetch-cli/fastfetch?logo=github)](https://github.com/fastfetch-cli/fastfetch/releases)
2023-08-23 11:04:03 +08:00
[![latest packaged version(s)](https://repology.org/badge/latest-versions/fastfetch.svg)](https://repology.org/project/fastfetch/versions)
[![Packaging status](https://repology.org/badge/tiny-repos/fastfetch.svg)](https://repology.org/project/fastfetch/versions)
2023-07-03 15:38:25 +08:00
2023-01-11 18:07:58 +08:00
Fastfetch is a [neofetch](https://github.com/dylanaraps/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. Currently, Linux, Android, FreeBSD, MacOS and Windows 7+ are supported.
2022-08-28 17:39:01 +02:00
2022-08-28 18:34:54 +02:00
<img src="screenshots/example1.png" width="49%" align="left" />
<img src="https://upload.wikimedia.org/wikipedia/commons/2/24/Transparent_Square_Tiles_Texture.png" width="49%" height="16px" align="left" />
<img src="screenshots/example4.png" width="49%" align="left" />
2022-08-29 09:24:03 +02:00
<img src="https://upload.wikimedia.org/wikipedia/commons/2/24/Transparent_Square_Tiles_Texture.png" width="49%" height="16px" align="left" />
2022-08-28 18:42:53 +02:00
<img src="screenshots/example2.png" width="48%" align="top" />
<img src="screenshots/example3.png" width="48%" align="top" />
2022-08-28 18:34:54 +02:00
<img src="screenshots/example5.png" height="15%" align="top" />
2021-03-07 13:12:45 +01:00
2023-06-12 17:26:37 +02:00
There are [screenshots on different platforms](https://github.com/fastfetch-cli/fastfetch/wiki)
2023-10-31 16:32:57 +08:00
## Installation
2021-03-07 13:12:45 +01:00
2023-10-31 16:32:57 +08:00
### Linux
2021-03-07 13:12:45 +01:00
2024-04-16 16:24:30 +08:00
Some distros packaged an outdated fastfetch version. Older version is not supported, please always ensure that the latest version is used.
2024-03-07 13:56:40 +08:00
* Ubuntu: [`ppa:zhangsongcui3371/fastfetch`](https://launchpad.net/~zhangsongcui3371/+archive/ubuntu/fastfetch) (for Ubuntu 22.04 or newer)
2024-05-06 15:56:25 +08:00
* Debian / Ubuntu: Download `fastfetch-linux-<proper architecture>.deb` from [Github release page](https://github.com/fastfetch-cli/fastfetch/releases/latest) and double-click it (for Ubuntu 20.04 or newer and Debian 11 or newer).
2024-04-16 16:19:53 +08:00
* Arch Linux: `sudo pacman -S fastfetch`
2023-10-31 16:32:57 +08:00
* Fedora: `sudo dnf install fastfetch`
* Gentoo: `sudo emerge --ask app-misc/fastfetch`
* Alpine: `apk add --upgrade fastfetch`
2024-02-21 11:42:59 +11:00
* NixOS: `nix-shell -p fastfetch`
* openSUSE: `sudo zypper install fastfetch`
* ALT Linux: `sudo apt-get install fastfetch`
Replace sudo with doas depending on what you use.
2023-01-09 15:20:30 +01:00
2024-04-16 16:24:30 +08:00
[See also if fastfetch has been packaged for your favorite Linux distro](#Packaging).
If fastfetch is not packaged for your distro or an outdated version is packaged, [linuxbrew](https://brew.sh/) is a good alternate: `brew install fastfetch`
### macOS
2022-12-19 20:56:03 +08:00
2024-02-11 21:43:23 -05:00
...via [HomeBrew](https://brew.sh):
2023-10-31 16:32:57 +08:00
`brew install fastfetch`
2024-02-11 21:43:23 -05:00
...via [MacPorts](https://www.macports.org):
`sudo port install fastfetch`
### Windows
2023-10-31 16:32:57 +08:00
`scoop install fastfetch`
2021-03-07 13:12:45 +01:00
2023-10-31 16:32:57 +08:00
You may also download it directly from [GitHub releases page](https://github.com/fastfetch-cli/fastfetch/releases/latest) and extract the archive.
2023-10-31 16:32:57 +08:00
### FreeBSD
2021-04-25 16:16:40 +02:00
2023-10-31 16:32:57 +08:00
`pkg install fastfetch`
2022-02-13 23:51:13 +01:00
2023-10-31 16:32:57 +08:00
### Android (Termux)
2023-08-02 16:47:32 +08:00
2023-10-31 16:32:57 +08:00
`pkg install fastfetch`
2023-08-04 14:35:39 +08:00
2023-10-31 16:32:57 +08:00
## Build from source
2021-05-08 18:35:51 +02:00
2023-10-31 16:32:57 +08:00
See Wiki: https://github.com/fastfetch-cli/fastfetch/wiki/Building
2021-04-25 16:16:40 +02:00
2023-10-31 16:32:57 +08:00
## Usage
2021-04-25 16:16:40 +02:00
2023-10-31 16:32:57 +08:00
* Run it with default configuration: `fastfetch`
* Run it with [all supported modules](https://github.com/fastfetch-cli/fastfetch/wiki/Support+Status#available-modules) and find what you interest: `fastfetch -c all.jsonc`
* Find all data that fastfetch detects: `fastfetch -s <module> --format json`
2023-11-01 11:28:08 +08:00
* Display help messages: `fastfetch --help`
2023-12-05 15:55:41 +08:00
* Generate config file based on command line arguments: `fastfetch --arg1 --arg2 --gen-config`
2021-05-14 12:47:12 +02:00
2023-10-31 16:32:57 +08:00
## Customization
2022-10-09 21:02:33 +08:00
2023-10-31 16:32:57 +08:00
Fastfetch uses the JSONC (or JSON with comments) for configuration. [See Wiki for detail](https://github.com/fastfetch-cli/fastfetch/wiki/Configuration). There are some premade config files in [`presets`](presets), including the ones used for the screenshots above. You can load them using `-c <filename>`. They may also serve as a good example for format arguments.
2023-10-31 16:32:57 +08:00
Logos can be heavily customized too; see the [logo documentation](https://github.com/fastfetch-cli/fastfetch/wiki/Logo-options) for more information.
2023-01-11 18:07:58 +08:00
2022-10-09 21:02:33 +08:00
2021-03-07 13:12:45 +01:00
## Packaging
2022-06-08 12:11:00 +02:00
### Repositories
[![Packaging status](https://repology.org/badge/vertical-allrepos/fastfetch.svg?header=)](https://repology.org/project/fastfetch/versions)
2022-06-08 12:07:06 +02:00
### Manual
2022-07-26 22:13:09 +02:00
* DEB / RPM package: `cmake --build . --target package`
* Install directly: `cmake --install . --prefix /usr/local`
2021-03-07 13:12:45 +01:00
## FAQ
2024-05-16 21:57:37 +08:00
### Q: Neofetch is good enough. Why do I need fastfetch?
2021-03-07 13:12:45 +01:00
2024-05-16 21:57:37 +08:00
1. Fastfetch is actively maintained.
2. Fastfetch is faster. As the name suggests.
3. Fastfetch is more feature-rich. By default fastfetch only has a few modules enabled. Use `fastfetch -c all` to find what you want.
4. Fastfetch is more configurable. You can find more information in the Wiki: <https://github.com/fastfetch-cli/fastfetch/wiki/Configuration>
5. Fastfetch is more polished. For example, neofetch prints `555MiB` in `Memory` module and `23G` in `Disk` module (notibily the difference of `MiB` and `G`), while fastfetch prints `555.00 MiB` and `22.97 GiB` respectively.
6. Fastfetch is more accurate. For example, [neofetch never actually supports Wayland protocol](https://github.com/dylanaraps/neofetch/pull/2395).
### Q: Fastfetch shows my local IP address. It leaks my privacy!
2024-05-16 23:26:07 +08:00
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.
2024-05-16 21:57:37 +08:00
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`.
### Q: Where is the config file? I can't find it.
`Fastfetch` don't generate config file automatically. You can use `fastfetch --gen-config` to generate one. The config file is saved in `~/.config/fastfetch/config.jsonc` by default. See [Wiki for detail](https://github.com/fastfetch-cli/fastfetch/wiki/Configuration).
### Q: The configuration is so complex. Where is the documentation?
[Here is the documentation](https://github.com/fastfetch-cli/fastfetch/wiki/Json-Schema), but too long don't read. Instead, use an IDE with JSON schema support (like VSCode) to edit it.
Alternatively, you can refer to the presets in [`presets` directory](https://github.com/fastfetch-cli/fastfetch/tree/dev/presets).
2024-05-16 23:34:40 +08:00
### Q: How can I customize the module output?
Fastfetch uses `format` to generate output. For example to make `GPU` module show GPU name only and ignore other information, you can use
```jsonc
{
"modules": [
{
"type": "gpu",
"format": "{2}" // See `fastfetch -h gpu-format` for detail
}
]
}
which is equivalent to `fastfetch -s gpu --gpu-format '{2}'`
See `fastfetch -h format` for basic usage. For module specific formattion, see `fastfetch -h <module>-format`
2024-05-16 21:57:37 +08:00
### Q: I have my own ascii-art / image file. How can I show it with fastfetch?
Try `fastfetch -l /path/to/logo`. See [logo documentation](https://github.com/fastfetch-cli/fastfetch/wiki/Logo-options) for detail.
2024-05-16 23:26:07 +08:00
### Q: I want feature A / B / C. Will fastfetch support it?
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:
```jsonc
// This module shows the default editor
{
"modules": [
{
"type": "command",
"text": "$EDITOR --version | head -1",
"key": "Editor"
}
]
}
```
Otherwise, open a feature request in [GitHub Issues](https://github.com/fastfetch-cli/fastfetch/issues).
2024-05-16 21:57:37 +08:00
### Q: I have questions. Where can I get help?
* For usage questions, please start a discussion in [GitHub Discussions](https://github.com/fastfetch-cli/fastfetch/discussions).
* For possible bugs, please open an issue in [GitHub Issues](https://github.com/fastfetch-cli/fastfetch/issues). Be sure to fill the bug-report template carefully for developers to investigate.
2023-12-13 02:56:13 -06:00
## Star History
Give it a star to support us!
<a href="https://star-history.com/#fastfetch-cli/fastfetch&Date">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/svg?repos=fastfetch-cli/fastfetch&type=Date&theme=dark" />
<source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/svg?repos=fastfetch-cli/fastfetch&type=Date" />
<img alt="Star History Chart" src="https://api.star-history.com/svg?repos=fastfetch-cli/fastfetch&type=Date" />
</picture>
</a>