🎉 Inits project

Signed-off-by: Ash Svitan <selfsigned-ash@proton.me>
This commit is contained in:
2026-04-30 10:53:53 +02:00
commit fd6bf0adbd
7 changed files with 191 additions and 0 deletions
+36
View File
@@ -0,0 +1,36 @@
mod pass;
mod sh;
use std::env;
use std::io::{Error, ErrorKind};
const ENV_VAR_DEFAULT_VAULT: &str = "PASS_VAULT";
fn main() -> Result<(), Error> {
pass::check_pass()?;
let vaults = pass::get_vaults()?;
if vaults.len() <= 0 {
return Err(Error::new(ErrorKind::Other, "No vaults found"));
}
let mut vault = String::new();
match env::var(ENV_VAR_DEFAULT_VAULT) {
Ok(default_vault) => {
if vaults.contains(&default_vault) {
vault = default_vault;
} else {
return Err(Error::new(
ErrorKind::Other,
format!("Vault {} does not exist", default_vault),
));
}
}
Err(_) => {
vault = vaults.get(0).unwrap().clone();
println!("No default vault found (you can set it with {}), using {}...", ENV_VAR_DEFAULT_VAULT, vault);
}
};
println!("selected: {:?}", vault);
return Ok(());
}