docs(readme): add configuration documentation
Swadhin Biswas committed 7 months ago
29f7569
1 parent 3445393
commit 29f7569
1 file changed
+100 -0
Showing 1 changed file+100-0
▼README.md
+100-0
| @@ -98,3 +98,103 @@ | ||
98 | 98 | - [Usage](#usage) |
99 | 99 | - [Image Backends](#image-backends) |
100 | 100 | - [How Smart Image Fetching Works](#how-smart-image-fetching-works) |
101 | +- [Advanced Features](#advanced-features) | |
102 | +- [Information Displayed](#information-displayed) | |
103 | +- [Supported Distributions](#supported-distributions) | |
104 | +- [Comparison with Neofetch](#comparison-with-neofetch) | |
105 | +- [Dependencies](#dependencies) | |
106 | +- [Uninstalling](#uninstalling) | |
107 | +- [Contributing](#contributing) | |
108 | +- [Star History](#star-history) | |
109 | +- [License](#license) | |
110 | + | |
111 | +--- | |
112 | + | |
113 | +## Features | |
114 | + | |
115 | +> **Why FetchX over neofetch?** Neofetch is [no longer maintained](https://github.com/dylanaraps/neofetch/issues/2691). FetchX is a modern, actively developed replacement written in Rust — 10x faster, with image support and smart caching built in. | |
116 | + | |
117 | +- **Blazing Fast** — Parallel info detection across 8 threads, finishes in ~10-50ms (vs neofetch's ~200-500ms) | |
118 | +- **Tiny Binary** — ~1.8 MB stripped, LTO-optimized — no Python, no Bash, no runtime deps | |
119 | +- **TOML Config** — Clean `~/.config/fetchx/config.toml` with 35+ options (no scripting needed) | |
120 | +- **5 Image Backends** — Kitty graphics protocol, Sixel, Chafa, w3m, iTerm2 | |
121 | +- **Smart Image Caching** — Auto-downloads random images from API, shows instantly with zero delay, new image every run | |
122 | +- **60+ Distro Logos** — ASCII art with `{c1}`-`{c6}` color placeholders | |
123 | +- **Nerd Font Icons** — Optional icons for every info label (requires [Nerd Font](https://www.nerdfonts.com/)) | |
124 | +- **Progress Bars** — Visual bars for memory and disk usage `[███████░░░░]` | |
125 | +- **Emoji Mode** — Fun emoji art alternative to ASCII logos | |
126 | +- **JSON Output** — Machine-readable `--json` flag for scripting & automation | |
127 | +- **Custom ASCII Art** — Load your own art from any text file | |
128 | +- **256-Color Support** — Full terminal color palette | |
129 | +- **Terminal-Width Aware** — Lines truncate cleanly, never wraps | |
130 | +- **Interactive Image Picker** — Browse & select images with fzf | |
131 | +- **Daemon Mode** — Background service for Waybar/Polybar/status bar integration | |
132 | +- **Drop-in neofetch replacement** — `alias neofetch='fetchx'` and you're done | |
133 | + | |
134 | +--- | |
135 | + | |
136 | +## Installation | |
137 | + | |
138 | +### Quick Install (Recommended) | |
139 | + | |
140 | +One-liner that clones, builds, installs, and sets up aliases: | |
141 | + | |
142 | +```bash | |
143 | +curl -fsSL https://raw.githubusercontent.com/swadhinbiswas/fetchx/main/install.sh | bash | |
144 | +``` | |
145 | + | |
146 | +Or with wget: | |
147 | + | |
148 | +```bash | |
149 | +wget -qO- https://raw.githubusercontent.com/swadhinbiswas/fetchx/main/install.sh | bash | |
150 | +``` | |
151 | + | |
152 | +**Install script options:** | |
153 | + | |
154 | +```bash | |
155 | +./install.sh # Install to ~/.local/bin (default) | |
156 | +./install.sh --system # Install to /usr/local/bin (requires sudo) | |
157 | +./install.sh --prefix=/opt # Custom prefix | |
158 | +./install.sh --no-alias # Skip shell alias setup | |
159 | +./install.sh --uninstall # Remove FetchX completely | |
160 | +``` | |
161 | + | |
162 | +### From Source (Manual) | |
163 | + | |
164 | +**Prerequisites:** [Rust toolchain](https://rustup.rs/) (rustc + cargo) | |
165 | + | |
166 | +```bash | |
167 | +# Install Rust (if not already installed) | |
168 | +curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh | |
169 | +source ~/.cargo/env | |
170 | + | |
171 | +# Clone and build | |
172 | +git clone https://github.com/swadhinbiswas/fetchx.git | |
173 | +cd fetchx/fetchx | |
174 | + | |
175 | +# Build optimized release binary | |
176 | +cargo build --release | |
177 | + | |
178 | +# Install to user directory (no sudo needed) | |
179 | +mkdir -p ~/.local/bin | |
180 | +install -m 755 target/release/fetchx ~/.local/bin/fetchx | |
181 | + | |
182 | +# Make sure ~/.local/bin is in your PATH (see Shell Setup below) | |
183 | +``` | |
184 | + | |
185 | +**System-wide install (requires sudo):** | |
186 | + | |
187 | +```bash | |
188 | +sudo install -m 755 target/release/fetchx /usr/local/bin/fetchx | |
189 | +``` | |
190 | + | |
191 | +### With Make | |
192 | + | |
193 | +```bash | |
194 | +git clone https://github.com/swadhinbiswas/fetchx.git | |
195 | +cd fetchx/fetchx | |
196 | +make # Build | |
197 | +sudo make install # Install to /usr/local/bin | |
198 | +# or | |
199 | +make PREFIX=~/.local install # Install to ~/.local/bin | |
200 | +``` | |
101 | 201 | |