libkelp/lib/util/pm.rs
1use crate::lib::packagemangers::portage::Portage;
2use crate::lib::structs::pm::PackageManager;
3use crate::lib::util::os;
4pub fn get_distro_pm() -> anyhow::Result<impl PackageManager> {
5 let os = os::get_host_os()?;
6 if os.submatches.iter().any(|x| x == "gentoo") || os.name == "gentoo" {
7 return Ok(Portage::new());
8 }
9 Err(anyhow::Error::new(std::io::Error::new(
10 std::io::ErrorKind::NotFound,
11 "Can not find OS packagemanger!",
12 )))
13}