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}