1#![feature(once_cell)]23pub mod command;4pub mod host;5pub mod keys;67pub mod cmds;8pub mod db;9pub mod nix;1011use anyhow::Result;12use clap::Clap;13use cmds::{build_systems::BuildSystems, fetch_keys::FetchKeys, generate_secrets::GenerateSecrets};1415#[derive(Clap)]16#[clap(version = "1.0", author = "CertainLach <iam@lach.pw>")]17enum Opts {18 19 FetchKeys(FetchKeys),20 21 GenerateSecrets(GenerateSecrets),22 23 BuildSystems(BuildSystems),24}2526fn main() -> Result<()> {27 env_logger::Builder::new()28 .filter_level(log::LevelFilter::Info)29 .init();30 let opts = Opts::parse();3132 match opts {33 Opts::FetchKeys(c) => c.run()?,34 Opts::BuildSystems(c) => c.run()?,35 Opts::GenerateSecrets(c) => c.run()?,36 };37 Ok(())38}