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

config-better

Configure your application in a friendlier and more consistent way!

4 releases (stable)

1.2.0 Nov 16, 2023
1.1.0 Aug 12, 2023
1.0.0 Aug 12, 2023
0.1.0 Sep 20, 2021

#356 in Configuration

Download history 70/week @ 2024-06-22 23/week @ 2024-06-29 32/week @ 2024-07-06 41/week @ 2024-07-13 56/week @ 2024-07-20 60/week @ 2024-07-27 75/week @ 2024-08-03 63/week @ 2024-08-10 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 41/week @ 2024-10-05

201 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

For the sync and async features of the crate, the MSRV is 1.61.0. For the async-tokio feature of the crate, the MSRV is 1.63.0.

Dependencies

~0.3–10MB
~122K SLoC