40 lines
1.0 KiB
Markdown
40 lines
1.0 KiB
Markdown
|
# confy
|
||
|
|
||
|
Chat with us: [Discord](https://discord.gg/dwq4Zme)
|
||
|
|
||
|
Zero-boilerplate configuration management.
|
||
|
|
||
|
Focus on storing the right data, instead of worrying about how or where to store it.
|
||
|
|
||
|
```rust
|
||
|
use serde_derive::{Serialize, Deserialize};
|
||
|
|
||
|
#[derive(Default, Debug, Serialize, Deserialize)]
|
||
|
struct MyConfig {
|
||
|
version: u8,
|
||
|
api_key: String,
|
||
|
}
|
||
|
|
||
|
fn main() -> Result<(), ::std::io::Error> {
|
||
|
let cfg: MyConfig = confy::load("my-app-name")?;
|
||
|
dbg!(cfg);
|
||
|
Ok(())
|
||
|
}
|
||
|
```
|
||
|
|
||
|
## Using yaml
|
||
|
Enabling the `yaml_conf` feature while disabling the default `toml_conf`
|
||
|
feature causes confy to use a YAML config file instead of TOML.
|
||
|
|
||
|
```
|
||
|
[dependencies.confy]
|
||
|
features = ["yaml_conf"]
|
||
|
default-features = false
|
||
|
```
|
||
|
|
||
|
## Breakings changes
|
||
|
Starting with version 0.4.0 the configuration file are stored in the expected place for your system. See the [`directories`] crates for more information.
|
||
|
Before version 0.4.0, the configuration file was written in the current directory.
|
||
|
|
||
|
[`directories`]: https://crates.io/crates/directories
|