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
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