This commit is contained in:
JMARyA 2024-12-25 21:05:49 +01:00
commit 4c1993143c
Signed by: jmarya
GPG key ID: 901B2ADDF27C2263
9 changed files with 551 additions and 0 deletions

43
src/config.rs Normal file
View file

@ -0,0 +1,43 @@
use serde::Deserialize;
/// Declarative install configuration
#[derive(Debug, Deserialize)]
pub struct InstallConfig {
/// Drive Configuration
pub drive: DriveConfig,
/// General Configuration
pub general: GeneralConfig,
}
#[derive(Debug, Deserialize)]
pub struct DriveConfig {
/// Boot Drive Path
pub boot: String,
/// Root Drive Path
pub root: String,
}
#[derive(Debug, Deserialize)]
pub struct GeneralConfig {
/// Enable encryption on root
pub encryption: bool,
/// Presets
pub mode: InstallMode,
// System locale
pub locale: String,
// Packages to install
pub pkg: Vec<String>,
}
#[derive(Debug, Deserialize)]
pub enum InstallMode {
/// Basic Arch Linux Installation
Base,
/// navOS Desktop
Desktop,
/// navOS Server
Server,
// TODO : Evaluate
Kiosk,
}