docs: add INSTALL.md with detailed instructions
Swadhin Biswas committed 7 months ago
b5a60b1
1 parent b9f70e1
commit b5a60b1
1 file changed
+244 -0
Showing 1 changed file+244-0
▼INSTALL.md
+244-0
| @@ -0,0 +1,244 @@ | ||
1 | +# FetchX Installation Guide | |
2 | + | |
3 | +## Quick Install | |
4 | + | |
5 | +### From Source (Recommended for Development) | |
6 | + | |
7 | +```bash | |
8 | +# Clone or navigate to the fetchx directory | |
9 | +cd fetchx | |
10 | + | |
11 | +# Build in release mode | |
12 | +cargo build --release | |
13 | + | |
14 | +# Copy to system path (requires sudo) | |
15 | +sudo cp target/release/fetchx /usr/local/bin/ | |
16 | + | |
17 | +# Verify installation | |
18 | +fetchx --version | |
19 | +``` | |
20 | + | |
21 | +### Using Cargo (When Published) | |
22 | + | |
23 | +```bash | |
24 | +cargo install fetchx | |
25 | +``` | |
26 | + | |
27 | +### Arch Linux (AUR) - Coming Soon | |
28 | + | |
29 | +```bash | |
30 | +# Using yay | |
31 | +yay -S fetchx | |
32 | + | |
33 | +# Using paru | |
34 | +paru -S fetchx | |
35 | + | |
36 | +# Using makepkg | |
37 | +git clone https://aur.archlinux.org/fetchx.git | |
38 | +cd fetchx | |
39 | +makepkg -si | |
40 | +``` | |
41 | + | |
42 | +### Homebrew (macOS) - Coming Soon | |
43 | + | |
44 | +```bash | |
45 | +brew install fetchx | |
46 | +``` | |
47 | + | |
48 | +### NixOS - Coming Soon | |
49 | + | |
50 | +```nix | |
51 | +# In your configuration.nix or flake | |
52 | +environment.systemPackages = [ | |
53 | + pkgs.fetchx | |
54 | +]; | |
55 | +``` | |
56 | + | |
57 | +### Debian/Ubuntu (.deb package) - Coming Soon | |
58 | + | |
59 | +```bash | |
60 | +# Download the .deb file | |
61 | +wget https://github.com/swadhinbiswas/fetchx/releases/download/v0.1.0/fetchx_0.1.0_amd64.deb | |
62 | +sudo dpkg -i fetchx_0.1.0_amd64.deb | |
63 | +``` | |
64 | + | |
65 | +### Fedora/RPM - Coming Soon | |
66 | + | |
67 | +```bash | |
68 | +# Using dnf | |
69 | +sudo dnf install fetchx | |
70 | + | |
71 | +# Or install RPM directly | |
72 | +sudo dnf install https://github.com/swadhinbiswas/fetchx/releases/download/v0.1.0/fetchx-0.1.0.x86_64.rpm | |
73 | +``` | |
74 | + | |
75 | +## Manual Installation | |
76 | + | |
77 | +1. **Download the binary** | |
78 | + | |
79 | + ```bash | |
80 | + wget https://github.com/swadhinbiswas/fetchx/releases/download/v0.1.0/fetchx-linux-x86_64.tar.gz | |
81 | + tar xzf fetchx-linux-x86_64.tar.gz | |
82 | + ``` | |
83 | + | |
84 | +2. **Move to PATH** | |
85 | + | |
86 | + ```bash | |
87 | + sudo mv fetchx /usr/local/bin/ | |
88 | + sudo chmod +x /usr/local/bin/fetchx | |
89 | + ``` | |
90 | + | |
91 | +3. **Verify** | |
92 | + ```bash | |
93 | + fetchx --version | |
94 | + ``` | |
95 | + | |
96 | +## Configuration | |
97 | + | |
98 | +After installation, you can create a configuration file: | |
99 | + | |
100 | +```bash | |
101 | +# Create config directory | |
102 | +mkdir -p ~/.config/fetchx | |
103 | + | |
104 | +# Generate default config | |
105 | +fetchx --print-config > ~/.config/fetchx/config.toml | |
106 | + | |
107 | +# Edit configuration | |
108 | +nano ~/.config/fetchx/config.toml | |
109 | +``` | |
110 | + | |
111 | +## Uninstallation | |
112 | + | |
113 | +### From Source or Cargo | |
114 | + | |
115 | +```bash | |
116 | +sudo rm /usr/local/bin/fetchx | |
117 | +rm -rf ~/.config/fetchx | |
118 | +``` | |
119 | + | |
120 | +### From AUR | |
121 | + | |
122 | +```bash | |
123 | +yay -R fetchx | |
124 | +# or | |
125 | +paru -R fetchx | |
126 | +``` | |
127 | + | |
128 | +### From Homebrew | |
129 | + | |
130 | +```bash | |
131 | +brew uninstall fetchx | |
132 | +``` | |
133 | + | |
134 | +### From .deb | |
135 | + | |
136 | +```bash | |
137 | +sudo dpkg -r fetchx | |
138 | +``` | |
139 | + | |
140 | +## System Requirements | |
141 | + | |
142 | +- **Operating System**: Linux, macOS, BSD, Windows (WSL) | |
143 | +- **Memory**: ~5MB RAM | |
144 | +- **Disk Space**: ~10MB | |
145 | +- **Dependencies**: None (statically linked binary) | |
146 | + | |
147 | +## Build Requirements (for building from source) | |
148 | + | |
149 | +- Rust 1.70 or later | |
150 | +- Cargo (comes with Rust) | |
151 | +- Git (for cloning repository) | |
152 | + | |
153 | +### Install Rust | |
154 | + | |
155 | +```bash | |
156 | +# Using rustup (recommended) | |
157 | +curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh | |
158 | + | |
159 | +# Verify installation | |
160 | +rustc --version | |
161 | +cargo --version | |
162 | +``` | |
163 | + | |
164 | +## Troubleshooting | |
165 | + | |
166 | +### "Command not found" | |
167 | + | |
168 | +Make sure `/usr/local/bin` is in your PATH: | |
169 | + | |
170 | +```bash | |
171 | +export PATH=$PATH:/usr/local/bin | |
172 | +``` | |
173 | + | |
174 | +### Permission denied | |
175 | + | |
176 | +Make the binary executable: | |
177 | + | |
178 | +```bash | |
179 | +chmod +x /usr/local/bin/fetchx | |
180 | +``` | |
181 | + | |
182 | +### Colors not showing | |
183 | + | |
184 | +Ensure your terminal supports colors and try: | |
185 | + | |
186 | +```bash | |
187 | +fetchx --no-color # Disable colors | |
188 | +``` | |
189 | + | |
190 | +### ASCII art not aligned | |
191 | + | |
192 | +Adjust the gap setting: | |
193 | + | |
194 | +```bash | |
195 | +fetchx --gap 5 # Increase gap | |
196 | +fetchx --gap 1 # Decrease gap | |
197 | +``` | |
198 | + | |
199 | +## Performance Tips | |
200 | + | |
201 | +1. **Use release build** for best performance: | |
202 | + | |
203 | + ```bash | |
204 | + cargo build --release | |
205 | + ``` | |
206 | + | |
207 | +2. **Disable unnecessary info** in config to speed up: | |
208 | + | |
209 | + ```toml | |
210 | + show_resolution = false | |
211 | + show_de = false | |
212 | + show_wm = false | |
213 | + ``` | |
214 | + | |
215 | +3. **Use ASCII backend** instead of image backends for faster startup. | |
216 | + | |
217 | +## Updates | |
218 | + | |
219 | +### From Cargo | |
220 | + | |
221 | +```bash | |
222 | +cargo install --force fetchx | |
223 | +``` | |
224 | + | |
225 | +### From AUR | |
226 | + | |
227 | +```bash | |
228 | +yay -Syu fetchx | |
229 | +``` | |
230 | + | |
231 | +### From Source | |
232 | + | |
233 | +```bash | |
234 | +git pull | |
235 | +cargo build --release | |
236 | +sudo cp target/release/fetchx /usr/local/bin/ | |
237 | +``` | |
238 | + | |
239 | +## Getting Help | |
240 | + | |
241 | +- **Documentation**: `fetchx --help` | |
242 | +- **Config example**: `fetchx --print-config` | |
243 | +- **Issues**: https://github.com/swadhinbiswas/fetchx/issues | |
244 | +- **Discussions**: https://github.com/swadhinbiswas/fetchx/discussions | |
0 | 245 | |