#xdg-base #xdg #applications #directory #user-friendly #consistent

config-better

Configure your application in a friendlier and more consistent way!

6 releases (stable)

new 1.3.1 Dec 8, 2024
1.3.0 Nov 29, 2024
1.2.0 Nov 16, 2023
1.1.0 Aug 12, 2023
0.1.0 Sep 20, 2021

#486 in Filesystem

Download history 98/week @ 2024-08-17 43/week @ 2024-08-24 13/week @ 2024-08-31 20/week @ 2024-09-07 63/week @ 2024-09-14 70/week @ 2024-09-21 25/week @ 2024-09-28 46/week @ 2024-10-05 61/week @ 2024-10-12 130/week @ 2024-10-19 66/week @ 2024-10-26 85/week @ 2024-11-02 66/week @ 2024-11-09 43/week @ 2024-11-16 127/week @ 2024-11-23 226/week @ 2024-11-30

472 downloads per month
Used in 2 crates (via uggo-config)

MIT license

19KB
380 lines

config-better-rs

Make use of directories for configuration / data / caching better and more user-friendly!

This module provides support for the XDG Base Directory specification, and OS-friendly fallbacks for Windows, Mac OS, and Linux if not otherwise specified.

This is a port of the Python version of the same name.

Usage

use config_better::Config;

fn main() {
    let dirs = Config::new("some-app");
    println!("{:?}", dirs);

    // View paths
    println!("{:?}", dirs.cache);
    println!("{:?}", dirs.config);
    println!("{:?}", dirs.data);

    // Create/delete a single directory
    dirs.cache.create();
    dirs.cache.remove();

    // Create/delete all directories
    dirs.create_all();
    dirs.remove_all();
}

Any directory create and remove methods can have an async counterpart provided by the async feature.

For further details, refer to installation instructions on crates.io and docs on docs.rs.

MSRV

The MSRV is 1.63.

Dependencies

~0.3–11MB
~126K SLoC