Skip to content

erhanurgun/tui-dependency-wizard

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TUI Dependency Wizard

Version License Platform

Linux kurulum sonrası donanım sürücüleri ve sistem optimizasyonu için TUI sihirbazı.

Genel Bakış

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

TUI Dependency Wizard - Ana Arayüz

Özellikler

  • 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, p tuş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

Ekran Görüntüleri

Ana Arayüz

Ana Arayüz Modül listesi (sol panel), eylem listesi (sağ panel), açıklama kutusu ve sistem bilgi çubuğu

Çalıştırma Onayı

Çalıştırma Onayı Overlay popup ile eylem onayı ve çalıştırılacak eylemlerin özeti

Yürütme Süreci

Hata Yönetimi ve Rollback Komut başarısız olduğunda hata mesajı ve otomatik rollback denemesi

Canlı Log Akışı Paket indirme/kurma sürecinin gerçek zamanlı izlenmesi

İlerleme Durumu Tamamlanma yüzdesi, hata ve başarı mesajları

Tamamlanma

Tamamlanmış Yürütme Tüm eylemler tamamlanmış, sonuç ekranı

Modüller

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

Gereksinimler

  • Linux (Ubuntu/Debian tabanlı dağıtımlar)
  • Rust 1.70+ (derleme için)
  • sudo yetkisi (paket kurulumu için)

Kurulum

git clone https://github.com/erhanurgun/tui-dependency-wizard.git
cd tui-dependency-wizard
cargo build --release

Derlenen binary: target/release/tui-dependency-wizard

Kullanım

# Doğrudan çalıştırma
cargo run --release

# Veya derlenmiş binary ile
./target/release/tui-dependency-wizard

Temel Akış

  1. Uygulama başlatıldığında sistem donanımı otomatik algılanır
  2. Sol panelden modül seçin
  3. Sağ panelde eylemleri Space ile işaretleyin
  4. Enter ile çalıştırma onay penceresini açın
  5. sudo gerektiren eylemlerde şifre istenir (TUI geçici olarak askıya alınır)
  6. Eylemler asenkron olarak yürütülür, canlı log altta görüntülenir

Klavye Kısayolları

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

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

Mimari

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

Dizin Yapısı

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ı

Lisans

MIT

About

TUI Dependency Wizard

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages