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}