1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
use crate::lib::structs::{fileinfo::FileInfo, packages::Packages, script::Script};
use serde::{Deserialize, Serialize};
#[derive(PartialEq, Serialize, Deserialize, Debug)]
/// This is the new Configuration struct
pub struct KelpDotConfig {
    /// Files stored in $HOME/*
    pub homefiles: Option<Vec<FileInfo>>,
    /// Files relative to /
    pub rootfiles: Option<Vec<FileInfo>>,
    /// Scripts to run AFTER saving the dotfiles
    pub postsave: Option<Vec<Script>>,
    /// Scripts to run BEFORE installing the dotfiles.
    /// Path relative to $DOTFILES_ROOT
    pub prerun: Option<Vec<Script>>,
    /// Scripts to run After installing the dotfiles
    /// Path relative to $DOTFILES_ROOT
    pub postrun: Option<Vec<Script>>,
    /// Packages to install
    pub packages: Option<Packages>,
}