summaryrefslogblamecommitdiff
path: root/src/packages.rs
blob: e7b4c3de2463edd1925d2c3ed2a335e05584a7e6 (plain) (tree)
1
2
3
4
5
6
7
8
9
10
11

                                    

                         
               
                




                                        
                       


                          
                                                    


                                          
use serde::{Deserialize, Serialize};

use crate::error::Result;

pub mod pacman;
pub mod portage;

#[derive(Debug, Serialize, Deserialize)]
pub struct Package {
    pub id: String,
    pub version: String,
    pub explicit: bool,
}

pub trait PackageManager {
    fn get_installed(&self) -> Result<Vec<Package>>;

    fn install(&self, pkgs: Vec<Package>);
}