use config::SessionConfig; use serde::Serialize; use std::env; use std::fs::File; use std::path::Path; fn main() { let out_dir = env::var_os("TRUNK_STAGING_DIR").unwrap_or("target".into()); create_config( "session_config", &out_dir, &SessionConfig { motd: "Proben Dienstags um 18:30 Uhr und Sonntags um 10:00 Uhr".to_string(), }, ) } fn create_config(name: &str, out_dir: P, default_config: &T) where T: Serialize, P: AsRef, { //TODO return, if config already exists and is up to date let out_path = out_dir.as_ref().join(format!("{name}.json")); let out_file = File::create(&out_path).unwrap(); serde_json::to_writer_pretty(out_file, default_config).unwrap(); }