#xdg #xdg-base #folder #path #command-line #basedir #command-line-utilities

app dirs-cli

A tiny low-level command line application that provides platform-specific standard locations of directories for config, cache and other data on Linux, Windows, macOS and Redox by leveraging the mechanisms defined by the XDG base/user directory specifications on Linux, the Known Folder API on Windows, and the Standard Directory guidelines on macOS

3 unstable releases

Uses old Rust 2015

0.1.0 May 20, 2023
0.0.2 Jun 22, 2022
0.0.1 Jun 21, 2022

#1623 in Filesystem

29 downloads per month

MPL-2.0 license

12KB
127 lines

crates.io actively developed License: MPL-2.0

dirs-cli

Introduction

  • a tiny low-level command line application with a minimal API
  • that provides the platform-specific, user-accessible locations
  • for retrieving and storing configuration, cache and other data
  • on Linux, Redox, Windows (≥ Vista), macOS and other platforms.

The application provides the location of these directories by leveraging the mechanisms defined by

Platforms

This application is written in Rust, and supports Linux, Redox, macOS and Windows. Other platforms are also supported; they use the Linux conventions.

Usage

Dependency

Add the application as a dependency to your project by inserting

dirs-cli = "0.1.0"

into the [dependencies] section of your Cargo.toml file.

Build

It's possible to cross-compile this application if the necessary toolchains are installed with rustup. This is helpful to ensure a change hasn't broken code on a different platform.

The following commands will build this application on Linux, macOS and Windows:

cargo build --target=x86_64-unknown-linux-gnu
cargo build --target=x86_64-pc-windows-gnu
cargo build --target=x86_64-apple-darwin
cargo build --target=x86_64-unknown-redox

The Cargo.toml file contains additional information on how to minimize the binary size.

Changelog

0.1.0

  • Initial release, based on dirs-rs version 5

License

Licensed under the MPL 2.0 (LICENSE-MPL-2.0 or https://opensource.org/licenses/MPL-2.0).

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the MPL-2.0 license, shall be licensed as above, without any additional terms or conditions.

Dependencies

~0–11MB
~74K SLoC