Linux kurulum sonrası donanım sürücüleri ve sistem optimizasyonu için TUI sihirbazı.
TUI Dependency Wizard, yeni kurulan bir Linux sistemini hızla yapılandırmak için tasarlanmış terminal tabanlı bir sihirbazdır. Sisteminizin donanımını otomatik olarak algılar, uygun sürücüleri ve optimizasyonları önerir, seçtiğiniz eylemleri tek seferde uygular.
- Akıllı donanım algılama (GPU, ses, ağ, disk, USB)
- İnteraktif TUI arayüzü (klavye + fare desteği)
- Asenkron yürütme ile canlı log akışı
- Otomatik geri alma (rollback) desteği
- Akıllı donanım algılama: GPU (NVIDIA/AMD/Intel), ses kartı, ağ adaptörü, disk ve USB cihazları otomatik tespiti
- 11 modül, 50+ eylem: Sürücülerden güvenliğe, geliştirici araçlarından oyunlara kadar geniş kapsam
- TEA mimarisi: Model-Update-View döngüsü ile temiz, test edilebilir yapı
- Async executor: tokio üzerinde asenkron komut çalıştırma, stdout/stderr streaming
- apt/nala desteği: Otomatik algılama,
ptuşu ile dinamik geçiş - sudo akışı: TUI suspend/resume ile güvenli kimlik doğrulama
- Timeout ve iptal: Her eylem için zaman aşımı, Ctrl+C ile anlık iptal
- Otomatik rollback: Başarısız eylemlerde geri alma komutları
- Yapılandırma dosyası: TOML formatında kalıcı ayarlar
- Durum kaydı: Oturum arası seçim ve kurulum durumu koruma
Modül listesi (sol panel), eylem listesi (sağ panel), açıklama kutusu ve sistem bilgi çubuğu
Overlay popup ile eylem onayı ve çalıştırılacak eylemlerin özeti
Komut başarısız olduğunda hata mesajı ve otomatik rollback denemesi
Paket indirme/kurma sürecinin gerçek zamanlı izlenmesi
Tamamlanma yüzdesi, hata ve başarı mesajları
Tüm eylemler tamamlanmış, sonuç ekranı
| Modül | Faz | Açıklama |
|---|---|---|
| GPU Sürücüleri | Çekirdek | NVIDIA/AMD/Intel GPU sürücüleri ve Optimus desteği |
| Ses | Çekirdek | PipeWire/PulseAudio ses yapılandırması |
| Ağ | Çekirdek | WiFi/Bluetooth firmware ve araçları |
| Sistem Opt. | Çekirdek | Swappiness, TRIM, TLP, I/O scheduler, zram |
| Multimedya | Faz 2 | Codec'ler, medya oynatıcıları |
| Yazıtipi | Faz 2 | Yazı tipleri ve GNOME görünüm ayarları |
| Güvenlik | Faz 2 | Güvenlik duvarı, saldırı önleme, SSH, AppArmor |
| Oyunlar | Faz 2 | Steam, Wine, Proton, Lutris, performans araçları |
| Geliştirici | Faz 3 | Git, Docker, Rust, Python, Node.js, Go |
| Üretkenlik | Faz 3 | Flatpak/Snap desteği ve yaygın uygulamalar |
| Bakım | Bakım | Güncelleme, temizlik ve yeniden başlatma |
- Linux (Ubuntu/Debian tabanlı dağıtımlar)
- Rust 1.70+ (derleme için)
- sudo yetkisi (paket kurulumu için)
git clone https://github.com/erhanurgun/tui-dependency-wizard.git
cd tui-dependency-wizard
cargo build --releaseDerlenen binary: target/release/tui-dependency-wizard
# Doğrudan çalıştırma
cargo run --release
# Veya derlenmiş binary ile
./target/release/tui-dependency-wizard- Uygulama başlatıldığında sistem donanımı otomatik algılanır
- Sol panelden modül seçin
- Sağ panelde eylemleri
Spaceile işaretleyin Enterile çalıştırma onay penceresini açın- sudo gerektiren eylemlerde şifre istenir (TUI geçici olarak askıya alınır)
- Eylemler asenkron olarak yürütülür, canlı log altta görüntülenir
| Tuş | Eylem |
|---|---|
q |
Çıkış (çalıştırma sırasında iptal) |
? |
Yardım penceresi |
Tab |
Panel geçişi (Sidebar -> Eylemler -> Log) |
Up / k |
Yukarı |
Down / j |
Aşağı |
Left / h |
Sidebar'a git |
Right / l |
Eylem listesine git |
Space |
Eylemi seç/kaldır |
Enter |
Seçili eylemleri çalıştır |
a |
Tüm eylemleri seç/kaldır |
p |
Paket yöneticisi değiştir (apt/nala) |
Ctrl+C |
Çalıştırmayı iptal et / Çıkış |
Fare desteği: Sol tık ile panel/eylem seçimi, kaydırma tekeri ile navigasyon.
Yapılandırma dosyası: ~/.config/tui-dependency-wizard/config.toml
tick_rate_ms = 100
auto_rollback = true
confirm_before_execute = true
log_to_file = false
package_manager = "apt" # "apt" veya "nala"| Alan | Varsayılan | Açıklama |
|---|---|---|
tick_rate_ms |
100 |
TUI yenileme hızı (ms) |
auto_rollback |
true |
Başarısız eylemlerde otomatik geri alma |
confirm_before_execute |
true |
Çalıştırma öncesi onay penceresi |
log_to_file |
false |
Log çıktısını dosyaya yaz |
package_manager |
"apt" |
Paket yöneticisi backend'i |
Proje TEA (The Elm Architecture) desenini kullanır:
Message -> update(model, msg) -> Command -> execute(cmd) -> Message
| |
v v
State değişir IO işlemleri (async)
|
v
view(model) -> Frame
src/
app/ # TEA katmanı (model, update, view, command, message)
core/ # İş mantığı (module_trait, action, executor, detection, package_manager)
detection/ # Donanım algılama (gpu, audio, network, disk, usb, system)
modules/ # 11 wizard modülü
tui/ # Terminal UI (event, terminal, theme, layout, widgets/)
config.rs # TOML yapılandırma
state.rs # Oturum durumu kaydı
error.rs # Hata tipleri
main.rs # Giriş noktası
MIT