This commit is contained in:
parent
59203d9085
commit
753f53d4da
5 changed files with 27 additions and 42 deletions
|
@ -35,6 +35,7 @@ pub fn first_boot_values(conf: &GeneralConfig) {
|
|||
}
|
||||
|
||||
std::os::unix::fs::symlink(tz_link, "/mnt/etc/localtime").unwrap();
|
||||
arch_chroot(&["hwclock", "--systohc"], None, false);
|
||||
|
||||
// Keymap
|
||||
print_status("Writing /etc/vconsole.conf");
|
||||
|
@ -49,8 +50,6 @@ pub fn first_boot_values(conf: &GeneralConfig) {
|
|||
uncomment_first_value_of(&conf.locale, "/mnt/etc/locale.gen");
|
||||
arch_chroot(&["locale-gen"], None, false);
|
||||
|
||||
arch_chroot(&["hwclock", "--systohc"], None, false);
|
||||
|
||||
if let Some(root_pw) = &conf.root_password {
|
||||
change_passwd("root", root_pw);
|
||||
}
|
||||
|
|
|
@ -26,7 +26,6 @@ pub fn setup_mkinitcpio(conf: &DriveConfig) {
|
|||
std::fs::write("/mnt/etc/kernel/cmdline", format!("root={}", conf.root)).unwrap();
|
||||
}
|
||||
|
||||
// TODO : more configs
|
||||
print_status("Writing /etc/mkinitcpio.conf");
|
||||
install_file(
|
||||
"/mnt/etc/mkinitcpio.conf",
|
||||
|
|
|
@ -76,6 +76,7 @@ pub fn uncomment_tag(tag: &str, file: &str) {
|
|||
std::fs::write(file, new).unwrap();
|
||||
}
|
||||
|
||||
/// Install a config on a new system
|
||||
pub fn install(conf: InstallConfig) {
|
||||
// Drive Setup
|
||||
format_drives(&conf.drive);
|
||||
|
|
62
src/main.rs
62
src/main.rs
|
@ -50,25 +50,7 @@ fn main() {
|
|||
}
|
||||
Some(("create-img", install_args)) => {
|
||||
let config_file: &String = install_args.get_one("config").unwrap();
|
||||
let config_content = std::fs::read_to_string(config_file);
|
||||
|
||||
let conf: InstallConfig = match config_content {
|
||||
Ok(content) => match toml::from_str(&content) {
|
||||
Ok(config) => config,
|
||||
Err(e) => {
|
||||
eprintln!(
|
||||
"{} {}",
|
||||
"Error: Could not deserialize TOML file.".paint(Color::Red),
|
||||
e.paint(Color::Red)
|
||||
);
|
||||
std::process::exit(1);
|
||||
}
|
||||
},
|
||||
Err(_) => {
|
||||
eprintln!("{}", "Error: Could not read config file.".paint(Color::Red));
|
||||
std::process::exit(1);
|
||||
}
|
||||
};
|
||||
let conf = read_conf(config_file);
|
||||
|
||||
println!("Installing to a disk image is not yet supported");
|
||||
unimplemented!()
|
||||
|
@ -81,25 +63,7 @@ fn main() {
|
|||
|
||||
let config_file: &String = install_args.get_one("config").unwrap();
|
||||
let force = install_args.get_flag("force");
|
||||
let config_content = std::fs::read_to_string(config_file);
|
||||
|
||||
let conf: InstallConfig = match config_content {
|
||||
Ok(content) => match toml::from_str(&content) {
|
||||
Ok(config) => config,
|
||||
Err(e) => {
|
||||
eprintln!(
|
||||
"{} {}",
|
||||
"Error: Could not deserialize TOML file.".paint(Color::Red),
|
||||
e.paint(Color::Red)
|
||||
);
|
||||
std::process::exit(1);
|
||||
}
|
||||
},
|
||||
Err(_) => {
|
||||
eprintln!("{}", "Error: Could not read config file.".paint(Color::Red));
|
||||
std::process::exit(1);
|
||||
}
|
||||
};
|
||||
let conf = read_conf(config_file);
|
||||
|
||||
if !force {
|
||||
print_config(&conf);
|
||||
|
@ -128,3 +92,25 @@ pub fn expect_yes() {
|
|||
std::process::exit(0);
|
||||
}
|
||||
}
|
||||
|
||||
pub fn read_conf(config_file: &str) -> InstallConfig {
|
||||
let config_content = std::fs::read_to_string(config_file);
|
||||
|
||||
match config_content {
|
||||
Ok(content) => match toml::from_str(&content) {
|
||||
Ok(config) => config,
|
||||
Err(e) => {
|
||||
eprintln!(
|
||||
"{} {}",
|
||||
"Error: Could not deserialize TOML file.".paint(Color::Red),
|
||||
e.paint(Color::Red)
|
||||
);
|
||||
std::process::exit(1);
|
||||
}
|
||||
},
|
||||
Err(_) => {
|
||||
eprintln!("{}", "Error: Could not read config file.".paint(Color::Red));
|
||||
std::process::exit(1);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -145,7 +145,7 @@ pub fn print_config(conf: &InstallConfig) {
|
|||
}
|
||||
|
||||
if let Some(models) = &ai_conf.models {
|
||||
ai_info.add_str(format!("⬇️ Pull Models: {}", models.join(", ")));
|
||||
ai_info.add_str(format!("⬇️ Pull Models: {}", models.join(", ")));
|
||||
}
|
||||
|
||||
root_info.add_tree("🦙 Ollama", ai_info);
|
||||
|
|
Loading…
Add table
Reference in a new issue