libkelp/lib/structs/
config.rs

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