mod command; mod errors; use command::*; use errors::*; use clap::Parser; use std::path::PathBuf; use std::result; pub type Result = result::Result; #[derive(Parser)] pub struct Opt { // TODO: transform this to "base" folder? // XXX: use the directory/directory-next crate to get the "~/.config/sup" folder? // ++ A config subFolder and execute in alphabetical order? // + One config file? -> confy crate? // - A master config file that list the sub/real files? no if it mean parsing 2 differents formats // // Default to something like -> "~/.config/system-updater/list.yml".into(), // //#[arg(default_value_t = PathBuf::from("examples/debian.yml"))] pub config_file: PathBuf, #[arg(short, long)] pub yes: bool, #[arg(short, long)] pub quiet: bool, #[arg(short, long)] pub steps: Option>, } pub fn run(opt: &Opt) { let updater = Updater::from_config(opt).unwrap(); updater.update_all(opt).unwrap(); }