Skip to content

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

License

Unknown, MIT licenses found

Licenses found

Unknown
LICENSE-APACHE
MIT
LICENSE-MIT
Notifications You must be signed in to change notification settings

sassman/dirs-lite-rs

Repository files navigation

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.

About

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

Resources

License

Unknown, MIT licenses found

Licenses found

Unknown
LICENSE-APACHE
MIT
LICENSE-MIT

Stars

Watchers

Forks

Sponsor this project

 

Contributors 3

  •  
  •  
  •  

Languages