<div align="center">
<img src="https://github.com/adenast/footfetch/blob/develop/images/logo.png?raw=true" width="92">
<h1>footfetch</h1>
<h6>
A lightweight and high-performance, neofetch-like tool for those who prefer feet over faces written in Rust.
</h6>
[](https://github.com/adenast/footfetch/actions)
[](https://github.com/adenast/footfetch/commits)
[](./CHANGELOG.md)
<img src="https://github.com/adenast/footfetch/blob/develop/images/preview.png?raw=true" alt="Preview" width="600">
<small><i>Footfetch 2.0.1 with custom theme</i></small>
</div>
---
## MoC
* [Features](#features)
* [Installation](#installation)
* [Binary](#quick-start-binary)
* [Source-based](#source-based)
* [Usage](#usage)
* [Configuration](#configuration)
* [Modules](#modules)
* [Extensions](#extensions)
* [Themes](#themes)
* [License](#license)
## Features
* **Live Mode:** Real-time hardware monitoring via the `--live` flag.
* **Deep Fetch:** Accurate CPU/GPU usage and model detection.
* **Multi-Distro:** Native package counting for Pacman, Dpkg, RPM, and APK.
* **Customization:** Deep customization with themes and extensions
## Installation
> [!IMPORTANT]
The tool only works on Linux due to strict performance requirements.
### Quick Start (Binary)
> [!TIP]
For those who want it right now (pre-compiled for x86_64):
```Bash
curl -sSL https://raw.githubusercontent.com/adenast/footfetch/main/scripts/linux/x86_64/install.sh | sh
```
### Source-based
> [!NOTE]
Recommended for performance. These methods will build the app specifically for your system
* Arch Linux (AUR):
```Bash
yay -S footfetch-git
```
* Nix Flakes (not tested):
```Bash
nix run github:adenast/footfetch
```
* Cargo:
```Bash
cargo install footfetch
```
## Usage
| `-v`, `--version` | Show version information
| `--live` | Live mode — updates every 2 seconds
| `--init` | Create default config and theme files
| `-h`, `--help` | Show help message
## Configuration
Main config file: ~/.config/footfetch/footfetch.toml
### Modules
Toggle any module by setting it to true or false.
| `distro` | Distribution name from /etc/os-release
| `kernel` | Kernel version (uname -r)
| `de_wm` | Desktop Environment or WM
| `packages` | Installed package count
| `processes` | Total running processes
| `cpu` | CPU model and current load
| `gpu` | GPU model and current load
| `memory` | RAM usage
### Extensions
Extensions are shell commands that return a single line of text. Add them using [[extensions]] blocks:
```toml
[[extensions]]
name = "Weather"
command = "curl -s wttr.in/?format=1"
[[extensions]]
name = "VPN"
command = "~/.local/bin/vpn-status.sh"
```
### Themes
Themes are stored in ~/.config/footfetch/themes/ as .jsonc files.
**Available Presets:**
Click to download and save to your themes folder:
* [Catppuccin Mocha](https://raw.githubusercontent.com/adenast/footfetch/develop/themes/catppuccin.jsonс)
* [Gruvbox Dark](https://raw.githubusercontent.com/adenast/footfetch/develop/themes/gruvbox-dark.jsonc)
**Theme structure:**
```jsonc
{
"primary": "#00d7d7", // ASCII Art color
"secondary": "#d7af00", // Labels color (OS:, CPU:...)
"accent": "#ffffff", // username@hostname color
"muted": "#555555" // Separator line color
}
```
**Example of a complete configuration file:**
```toml
theme = "catppuccin"
[modules]
distro = true
kernel = true
de_wm = true
packages = true
processes = false
cpu = true
gpu = false
memory = true
[[extensions]]
name = "Uptime"
command = "uptime -p"
[[extensions]]
name = "Shell"
command = "echo $SHELL"
[[extensions]]
name = "Local IP"
## License
> [!IMPORTANT]
This project is licensed under the MIT license. For details, see the file [LICENSE.md](https://github.com/adenast/footfetch/blob/main/LICENSE.md).