๐ F-Fetch: Fast, Minimal & Rust-Powered System Fetcher
F-Fetch is a very fast, minimal terminal system fetcher written 100% in Rust.
It is highly customizable - allowing you to add your own syntax and integrate your own features.
At its core, it works simply and the codebase is easy to understand.
| โ๏ธ Features | ๐ Description |
|---|---|
| ๐ฆ Rust | Written 100% in Rust |
| ๐จ Flexibility | Highly flexible - customize the appearance as you wish |
| โก Efficiency | Despite flexibility, uses very little space and system resources |
| ๐ง Customization | Offers a wide range of customization options |
Advanced Config
My Own Config
โ๏ธ Installation & Configuration
For Arch Linux
๐ฆ Install via AUR
Install via makepkg
๐ฆ Install via Cargo
๐ Installation Script
๐ Run F-Fetch
๐ Use as Library
You can also use F-Fetch as a library in your Rust projects.
Check: crates.io/ffetch
Docs: docs.rs/ffetch
Contribute
Check the CONTRIBUTING.md
Dependencies
If getMonitor fails, it uses xrandr.
Ascii downloader is using curl for download.
For GPU and disk information, I use standard Linux tools like lspci (from pciutils) and df (from coreutils).
F-Fetch Configuration & Examples
F-Fetch Components List
-
getUsername
Returns the current Username. -
getKernel
Returns the Kernel Version. -
getCpu
Returns CPU Information. -
getMemory
Returns Memory Usage. -
getHostname
Returns the system Hostname. -
getOsName
Returns the Operating System Name. -
getDesktop
Returns the Desktop Environment or Window Manager. -
getArch
Returns the system Architecture (e.g., x86_64). -
getPlatform
Returns the system Platform information. -
getUptime
Returns the system Uptime. -
getTerm
Returns the current Terminal Emulator. -
getGpu
Returns the primary GPU Information. -
getMGpu
Returns the secondary GPU Information (if any). -
getShell
Returns the current Shell. -
getDisk(mountpoint)
Returns the Disk Usage information for the specified mount point. -
getMonitor(monitorindex)
Returns the Monitor information for the specified monitor index. -
getPackages(emerge, flatpak, apt, dnf, yum, pacman, zypper, nix-env, xbps-query)
Returns the number of installed packages. -
getLocale
Returns your system locale (e.g.,en_US). -
getTerm
Returns your terminal emulator. -
getBackend
Returns your windowing system. -
getInit
Returns your system init (e.g,runit-init). -
getQTorgetGTK
Returns your theme from environment variables. -
getBoardVendor,getBoardNameandgetBoardVersion
Returns your system motherboard informations. (e.g, MSI)
F-Fetch Style ANSI Color Codes Reference
๐จ Foreground Colors (Text Colors)
| Placeholder | ANSI Code | Color | Description |
|---|---|---|---|
fg.black |
\x1b[30m |
โซ | Black text |
fg.red |
\x1b[31m |
๐ด | Red text |
fg.green |
\x1b[32m |
๐ข | Green text |
fg.yellow |
\x1b[33m |
๐ก | Yellow text |
fg.blue |
\x1b[34m |
๐ต | Blue text |
fg.magenta |
\x1b[35m |
๐ฃ | Magenta text |
fg.cyan |
\x1b[36m |
๐ต | Cyan text |
fg.white |
\x1b[37m |
โช | White text |
โจ Bright Foreground Colors
| Placeholder | ANSI Code | Color | Description |
|---|---|---|---|
fg.bright_black |
\x1b[90m |
โซ | Bright black (gray) text |
fg.bright_red |
\x1b[91m |
๐ด | Bright red text |
fg.bright_green |
\x1b[92m |
๐ข | Bright green text |
fg.bright_yellow |
\x1b[93m |
๐ก | Bright yellow text |
fg.bright_blue |
\x1b[94m |
๐ต | Bright blue text |
fg.bright_magenta |
\x1b[95m |
๐ฃ | Bright magenta text |
fg.bright_cyan |
\x1b[96m |
๐ต | Bright cyan text |
fg.bright_white |
\x1b[97m |
โช | Bright white text |
๐ญ Background Colors
| Placeholder | ANSI Code | Color | Description |
|---|---|---|---|
bg.black |
\x1b[40m |
โซ | Black background |
bg.red |
\x1b[41m |
๐ด | Red background |
bg.green |
\x1b[42m |
๐ข | Green background |
bg.yellow |
\x1b[43m |
๐ก | Yellow background |
bg.blue |
\x1b[44m |
๐ต | Blue background |
bg.magenta |
\x1b[45m |
๐ฃ | Magenta background |
bg.cyan |
\x1b[46m |
๐ต | Cyan background |
bg.white |
\x1b[47m |
โช | White background |
๐ Bright Background Colors
| Placeholder | ANSI Code | Color | Description |
|---|---|---|---|
bg.bright_black |
\x1b[100m |
โซ | Bright black (gray) background |
bg.bright_red |
\x1b[101m |
๐ด | Bright red background |
bg.bright_green |
\x1b[102m |
๐ข | Bright green background |
bg.bright_yellow |
\x1b[103m |
๐ก | Bright yellow background |
bg.bright_blue |
\x1b[104m |
๐ต | Bright blue background |
bg.bright_magenta |
\x1b[105m |
๐ฃ | Bright magenta background |
bg.bright_cyan |
\x1b[106m |
๐ต | Bright cyan background |
bg.bright_white |
\x1b[107m |
โช | Bright white background |
๐ Text Styles
| Placeholder | ANSI Code | Style | Description |
|---|---|---|---|
t.bold |
\x1b[1m |
Bold | Make text bold |
t.dim |
\x1b[2m |
Dim | Make text dimmed |
t.italic |
\x1b[3m |
Italic | Make text italic |
t.underline |
\x1b[4m |
Underline | Underline text |
t.inverse |
\x1b[7m |
Inverse | Swap foreground/background |
t.hidden |
\x1b[8m |
Hidden | Hide text |
t.strike |
\x1b[9m |
Strike through text | |
t.bold_off |
\x1b[21m |
Normal | Turn off bold |
t.underline_off |
\x1b[24m |
Normal | Turn off underline |
t.inverse_off |
\x1b[27m |
Normal | Turn off inverse |
๐ Reset
| Placeholder | ANSI Code | Function | Description |
|---|---|---|---|
all.reset |
\x1b[0m |
Reset | Reset all formatting |
๐ ๏ธ F-Fetch Configuration Examples
(Advanced, Middle, Minimal)
# ๐ Advanced config
)
)
)
)
# โก Middle config
)
)
# ๐ฅ Minimal config
)
)
โ Support the project
If you like F-Fetch and want to support the development, consider buying me a coffee: