feat: configure download & upload (shared) directories

Add a --shared-dir / SOULSEEK_SHARED_DIR option and a SOULSEEK_DOWNLOAD_DIR
env for the download directory. The shared directory is resolved and
validated up front (tilde-expanded, must exist and be a directory); a
misconfigured value is a warning, not a fatal error.

The library gains an optional shared_directory on ClientSettings/Client
with a getter, keeping soulseek-rs-lib dependency-free. Resolution lives
in a new soulseek-rs/src/directories.rs with unit tests.
This commit is contained in:
michel
2026-07-19 13:12:44 +02:00
parent 9035ecebcb
commit 1328736550
6 changed files with 127 additions and 1 deletions
+1
View File
@@ -10,4 +10,5 @@ pub struct SearchConfig {
pub download_dir: String,
pub verbose: u8,
pub max_concurrent_downloads: usize,
pub shared_directory: Option<String>,
}