mogh_config

Crates.iomogh_config
lib.rsmogh_config
version1.0.1
created_at2026-01-17 21:08:30.519578+00
updated_at2026-01-17 22:06:32.430701+00
descriptionUtilities to merge config from multiple files / directories.
homepage
repositoryhttps://github.com/moghtech/lib
max_upload_size
id2051165
size28,864
Maxwell Becker (mbecker20)

documentation

README

Mogh Config

Module for comprehensive loading of strongly typed configuration files using std::fs and serde.

  • Supports parsing JSON, YAML, and TOML formatted files.
  • Supports merging final configuration from multiple supplied files / directories.
#[derive(serde::Deserialize)]
struct Config {
  title: String,
  aliases: Vec<String>,
  endpoint: String,
  use_option: bool,
}

let config = (ConfigLoader {
  // Read config files from a directory
  paths: vec![PathBuf::from("./configs")],
  match_wildcards: vec![String::from("*config*.toml")],
  // It won't recurse into subdirectories unless they include '.configinclude' file
  include_file_name: ".configinclude",
  merge_nested: true,
  extend_array: true,
  debug_print: true,
})
.load::<Config>()
.expect("Failed to parse config from path");
Commit count: 101

cargo fmt