summaryrefslogtreecommitdiff
path: root/src/packages.rs
blob: 5ee56641fcebea0ea4aeb2fbd5692a53d82934eb (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
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>) -> Result<()>;
}