TomlConf
Manage TOML Configuration files simply, cleanly, and consistently.
TomlConf uses the directories library to locate the appropriate place for application data in a cross-platform way, and populates that location with a default file included at compile-time.
All you need to do is define a struct that implements serde::de::DeserializeOwned (typically by way of #[derive(Deserialize)] for a struct that owns its data) and implement the ConfigData trait for it.
You can then use the constructors on the trait to create, load, and read the data from a file;
If you also derive Serialize, you can even save changes to the data back into the file.
Example