use std::path::PathBuf; /// Resolve the app data directory. /// Windows: %LOCALAPPDATA%/kon /// Unix: ~/.kon /// /// TODO: Consolidate with `crates/transcription/src/model_manager.rs::dirs_path()` /// into a shared helper in `crates/core/` to avoid duplicating platform-specific /// path logic across crates. pub fn app_data_dir() -> PathBuf { if cfg!(target_os = "windows") { let local_app_data = std::env::var("LOCALAPPDATA").unwrap_or_else(|_| ".".to_string()); PathBuf::from(local_app_data).join("kon") } else { let home = std::env::var("HOME").unwrap_or_else(|_| "/tmp".to_string()); PathBuf::from(home).join(".kon") } } /// Path to the SQLite database file. pub fn database_path() -> PathBuf { app_data_dir().join("kon.db") } /// Directory for saved audio recordings. pub fn recordings_dir() -> PathBuf { app_data_dir().join("recordings") }