#directory #path #xdg #config #cache

dirs-lite

Get platform-specific config, data, and cache directories. Supports XDG-style on macOS. No dependencies.

2 stable releases

Uses new Rust 2024

new 1.0.1 Feb 15, 2026
1.0.0 Feb 3, 2026

#696 in Filesystem

MIT/Apache

27KB
464 lines

dirs-lite

crates.io docs.rs License

A minimal, dependency-free crate for getting the user's config, data, and cache directories.

Usage

use dirs_lite::{config_dir, data_dir, cache_dir};

fn main() {
    let config = config_dir().expect("config dir");
    println!("{}", config.display());
    // Linux:   /home/alice/.config
    // macOS:   /Users/Alice/Library/Application Support
    //          /Users/Alice/.config (with `favor-xdg-style` feature)
    // Windows: C:\Users\Alice\AppData\Roaming

    let data = data_dir().expect("data dir");
    println!("{}", data.display());
    // Linux:   /home/alice/.local/share
    // macOS:   /Users/Alice/Library/Application Support
    //          /Users/Alice/.local/share (with `favor-xdg-style` feature)
    // Windows: C:\Users\Alice\AppData\Local

    let cache = cache_dir().expect("cache dir");
    println!("{}", cache.display());
    // Linux:   /home/alice/.cache
    // macOS:   /Users/Alice/Library/Caches
    //          /Users/Alice/.cache (with `favor-xdg-style` feature)
    // Windows: C:\Users\Alice\AppData\Local
}

Platform Behavior

config_dir()

Platform Path
Linux $XDG_CONFIG_HOME or $HOME/.config
macOS $HOME/Library/Application Support
Windows %APPDATA%

data_dir()

Platform Path
Linux $XDG_DATA_HOME or $HOME/.local/share
macOS $HOME/Library/Application Support
Windows %LOCALAPPDATA%

cache_dir()

Platform Path
Linux $XDG_CACHE_HOME or $HOME/.cache
macOS $HOME/Library/Caches
Windows %LOCALAPPDATA%

Features

  • favor-xdg-style - On macOS, returns XDG-style paths ($HOME/.config, $HOME/.local/share, $HOME/.cache) instead of Apple paths.

Platform Conventions

Alternatives

Need more? Consider these crates:

  • dirs - More directory types (cache, data, etc.)
  • directories - Project-specific paths with organization support
  • etcetera - Strategy-based (XDG, Apple, Windows)

License

Licensed under either of Apache License, Version 2.0 or MIT license at your option.

No runtime deps

Features