Skip to content
This repository was archived by the owner on Aug 13, 2025. It is now read-only.

Commit 2702023

Browse files
committed
πŸš€ Initial release: rFetch v1.0.0
✨ Features: - Complete system information fetching for Linux, macOS, and Windows - Full iOS support with automatic detection and iSH compatibility - Beautiful ASCII logos for all supported platforms - Advanced theme system with YAML/TOML support - Interactive Theme Creator with dark/light mode and terminal preview - Comprehensive hardware detection (CPU, GPU, Memory, Disk, Battery) - Network information and package manager detection - Customizable display options and color schemes 🎨 Theme Creator: - Real-time terminal preview - Dark/light mode with auto-detection - Live color and effect updates - Export to YAML/TOML formats - Modern responsive UI 🍎 iOS Support: - Automatic iOS detection - Kernel and uptime information - Memory and storage details - GPU information - Battery status - Dedicated iOS ASCII logo - Full iSH shell compatibility Discord: https://discord.gg/QPc5NXu95y
0 parents  commit 2702023

28 files changed

+6944
-0
lines changed

β€Ž.gitignoreβ€Ž

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
# Rust
2+
/target/
3+
**/*.rs.bk
4+
Cargo.lock
5+
6+
# IDE
7+
.vscode/
8+
.idea/
9+
*.swp
10+
*.swo
11+
*~
12+
13+
# OS
14+
.DS_Store
15+
.DS_Store?
16+
._*
17+
.Spotlight-V100
18+
.Trashes
19+
ehthumbs.db
20+
Thumbs.db
21+
22+
# Logs
23+
*.log
24+
25+
# Runtime
26+
*.pid
27+
*.seed
28+
*.pid.lock
29+
30+
# Coverage
31+
*.lcov
32+
coverage/
33+
34+
# Build artifacts
35+
dist/
36+
build/
37+
38+
# Config files (keep example)
39+
config.toml
40+
!config.example.toml
41+
42+
# Temporary files
43+
*.tmp
44+
*.temp
45+
46+
# Backup files
47+
*.bak
48+
*.backup
49+
50+
# Documentation build
51+
/docs/_build/
52+
53+
# Local environment
54+
.env
55+
.env.local

β€Ž.vercel/project.jsonβ€Ž

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
{"projectName":"trae_xke0fiwa"}

β€ŽArchLinux.yamlβ€Ž

Lines changed: 127 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,127 @@
1+
meta:
2+
name: "Arch Linux"
3+
description: "Il mio tema personalizzato"
4+
version: "1.0.0"
5+
author: "devid"
6+
license: "MIT"
7+
created: "2025-07-24"
8+
colors:
9+
title:
10+
base: "cyan"
11+
rgb:
12+
- 0
13+
- 255
14+
- 255
15+
hex: "#00ffff"
16+
effects:
17+
- "bold"
18+
animation: null
19+
subtitle:
20+
base: "blue"
21+
rgb:
22+
- 0
23+
- 0
24+
- 255
25+
hex: "#0000ff"
26+
effects: null
27+
animation: null
28+
key:
29+
base: "yellow"
30+
rgb:
31+
- 255
32+
- 255
33+
- 0
34+
hex: "#ffff00"
35+
effects:
36+
- "bold"
37+
animation: null
38+
value:
39+
base: "white"
40+
rgb:
41+
- 255
42+
- 255
43+
- 255
44+
hex: "#ffffff"
45+
effects: null
46+
animation: null
47+
separator:
48+
base: "white"
49+
rgb:
50+
- 255
51+
- 255
52+
- 255
53+
hex: "#ffffff"
54+
effects: null
55+
animation: null
56+
logo:
57+
base: "cyan"
58+
rgb:
59+
- 0
60+
- 255
61+
- 255
62+
hex: "#00ffff"
63+
effects:
64+
- "glow"
65+
animation: null
66+
accent:
67+
base: "magenta"
68+
rgb:
69+
- 255
70+
- 0
71+
- 255
72+
hex: "#ff00ff"
73+
effects: null
74+
animation: null
75+
display:
76+
logo_type: "auto"
77+
separator: ": "
78+
padding: 2
79+
show_borders: true
80+
show_color_bar: true
81+
color_bar_style: "blocks"
82+
alignment: "center"
83+
max_width: null
84+
line_spacing: 1
85+
indent: 0
86+
show_icons: false
87+
icon_style: "unicode"
88+
layout:
89+
info_order:
90+
- "os"
91+
- "kernel"
92+
- "uptime"
93+
- "packages"
94+
- "shell"
95+
- "terminal"
96+
- "cpu"
97+
- "gpu"
98+
- "memory"
99+
- "disk"
100+
- "battery"
101+
- "date"
102+
custom_labels: null
103+
effects:
104+
transitions: true
105+
shadows: false
106+
glow_intensity: 0.1
107+
particle_effects: true
108+
sound_effects: false
109+
terminal_title: null
110+
ascii:
111+
logo:
112+
- "⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣸⣇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀"
113+
- "⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⒰⣿⣿⑆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀"
114+
- "β €β €β €β €β €β €β €β €β €β €β €β’ β£Ώβ£Ώβ£Ώβ£Ώβ‘„β €β €β €β €β €β €β €β €β €β €β €"
115+
- "β €β €β €β €β €β €β €β €β €β €β €β’Ώβ£Ώβ£Ώβ£Ώβ£Ώβ£Ώβ‘„β €β €β €β €β €β €β €β €β €β €"
116+
- "β €β €β €β €β €β €β €β €β €β’€β£·β£€β£™β’»β£Ώβ£Ώβ£Ώβ£Ώβ‘€β €β €β €β €β €β €β €β €β €"
117+
- "β €β €β €β €β €β €β €β €β’€β£Ώβ£Ώβ£Ώβ£Ώβ£Ώβ£Ώβ£Ώβ£Ώβ£Ώβ£Ώβ‘€β €β €β €β €β €β €β €β €"
118+
- "β €β €β €β €β €β €β €β’ β£Ύβ£Ώβ£Ώβ£Ώβ£Ώβ£Ώβ£Ώβ£Ώβ£Ώβ£Ώβ£Ώβ£·β‘„β €β €β €β €β €β €β €"
119+
- "β €β €β €β €β €β €β’ β£Ώβ£Ώβ£Ώβ£Ώβ£Ώβ‘Ώβ ›β ›β Ώβ£Ώβ£Ώβ£Ώβ£Ώβ£Ώβ‘„β €β €β €β €β €β €"
120+
- "⠀⠀⠀⠀⠀⒠⣿⣿⣿⣿⣿⠏⠀⠀⠀⠀⠙⣿⣿⣿⣿⣿⑄⠀⠀⠀⠀⠀"
121+
- "⠀⠀⠀⠀⣰⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀Ⓙ⣿⣿⣿⣿⠿⣆⠀⠀⠀⠀"
122+
- "⠀⠀⠀⣴⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿⣷⣦⑀⠀⠀⠀"
123+
- "β €β’€β£Ύβ£Ώβ£Ώβ Ώβ Ÿβ ›β ‹β ‰β ‰β €β €β €β €β €β €β ‰β ‰β ™β ›β »β Ώβ£Ώβ£Ώβ£·β‘€β €"
124+
- "β£ β Ÿβ ‹β β €β €β €β €β €β €β €β €β €β €β €β €β €β €β €β €β €β €β €β €β ˆβ ™β »β£„"
125+
small_logo:
126+
- "A"
127+
decorations: null

β€ŽCargo.tomlβ€Ž

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
[package]
2+
name = "rfetch"
3+
version = "0.1.0"
4+
edition = "2021"
5+
authors = ["Your Name <[email protected]>"]
6+
description = "A fast and beautiful system information tool written in Rust"
7+
license = "MIT"
8+
repository = "https://github.com/yourusername/rfetch"
9+
keywords = ["system", "info", "fetch", "cli", "cross-platform"]
10+
categories = ["command-line-utilities"]
11+
12+
[[bin]]
13+
name = "rfetch"
14+
path = "src/main.rs"
15+
16+
[dependencies]
17+
clap = { version = "4.4", features = ["derive"] }
18+
serde = { version = "1.0", features = ["derive"] }
19+
serde_json = "1.0"
20+
serde_yaml = "0.9"
21+
toml = "0.8"
22+
colored = "2.0"
23+
anyhow = "1.0"
24+
thiserror = "1.0"
25+
dirs = "5.0"
26+
chrono = { version = "0.4", features = ["serde"] }
27+
regex = "1.10"
28+
lazy_static = "1.4"
29+
atty = "0.2"
30+
num_cpus = "1.16"
31+
unicode-width = "0.1"
32+
33+
[target.'cfg(unix)'.dependencies]
34+
libc = "0.2"
35+
nix = "0.27"
36+
37+
[target.'cfg(windows)'.dependencies]
38+
winapi = { version = "0.3", features = ["winuser", "sysinfoapi", "processthreadsapi", "memoryapi"] }
39+
wmi = "0.13"
40+
41+
[target.'cfg(target_os = "macos")'.dependencies]
42+
core-foundation = "0.9"
43+
system-configuration = "0.5"
44+
45+
[dev-dependencies]
46+
tempfile = "3.8"
47+
48+
[profile.release]
49+
lto = true
50+
codegen-units = 1
51+
panic = "abort"
52+
strip = true

β€ŽLICENSEβ€Ž

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
MIT License
2+
3+
Copyright (c) 2024 rFetch Team
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE.

β€ŽMakefileβ€Ž

Lines changed: 95 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,95 @@
1+
# rFetch Makefile
2+
3+
.PHONY: help build release test clean install uninstall check fmt clippy doc run
4+
5+
# Default target
6+
help:
7+
@echo "rFetch - Available targets:"
8+
@echo " build - Build in debug mode"
9+
@echo " release - Build in release mode"
10+
@echo " test - Run tests"
11+
@echo " check - Check code without building"
12+
@echo " fmt - Format code"
13+
@echo " clippy - Run clippy linter"
14+
@echo " clean - Clean build artifacts"
15+
@echo " install - Install rFetch system-wide"
16+
@echo " uninstall - Remove rFetch from system"
17+
@echo " doc - Generate documentation"
18+
@echo " run - Run in debug mode"
19+
@echo " run-release - Run in release mode"
20+
21+
# Build targets
22+
build:
23+
cargo build
24+
25+
release:
26+
cargo build --release
27+
28+
# Testing and validation
29+
test:
30+
cargo test
31+
32+
check:
33+
cargo check
34+
35+
fmt:
36+
cargo fmt
37+
38+
clippy:
39+
cargo clippy -- -D warnings
40+
41+
# Documentation
42+
doc:
43+
cargo doc --open
44+
45+
# Execution
46+
run:
47+
cargo run
48+
49+
run-release:
50+
cargo run --release
51+
52+
# Installation
53+
install: release
54+
@echo "Installing rFetch..."
55+
@if [ -w /usr/local/bin ]; then \
56+
cp target/release/rfetch /usr/local/bin/; \
57+
else \
58+
sudo cp target/release/rfetch /usr/local/bin/; \
59+
fi
60+
@chmod +x /usr/local/bin/rfetch
61+
@mkdir -p ~/.config/rfetch
62+
@if [ ! -f ~/.config/rfetch/config.toml ]; then \
63+
cp config.example.toml ~/.config/rfetch/config.toml; \
64+
fi
65+
@echo "rFetch installed successfully!"
66+
67+
uninstall:
68+
@echo "Removing rFetch..."
69+
@if [ -w /usr/local/bin/rfetch ]; then \
70+
rm -f /usr/local/bin/rfetch; \
71+
else \
72+
sudo rm -f /usr/local/bin/rfetch; \
73+
fi
74+
@echo "rFetch removed successfully!"
75+
76+
# Cleanup
77+
clean:
78+
cargo clean
79+
80+
# Development workflow
81+
dev: fmt clippy test
82+
83+
# All checks before commit
84+
pre-commit: fmt clippy test check
85+
86+
# Package for distribution
87+
package: clean release
88+
@echo "Creating package..."
89+
@mkdir -p dist
90+
@cp target/release/rfetch dist/
91+
@cp README.md dist/
92+
@cp LICENSE dist/
93+
@cp config.example.toml dist/
94+
@tar -czf dist/rfetch-$(shell cargo metadata --format-version 1 | jq -r '.packages[0].version').tar.gz -C dist .
95+
@echo "Package created in dist/"

0 commit comments

Comments
Β (0)