From 363daec873c7fde21c0ef01476c3cffa042445cc Mon Sep 17 00:00:00 2001 From: JMARyA Date: Sun, 27 Apr 2025 19:56:17 +0200 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20pacman.conf?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- installs/full.toml | 3 +++ src/config.rs | 2 ++ src/install/mod.rs | 15 +++++++++++++++ 3 files changed, 20 insertions(+) diff --git a/installs/full.toml b/installs/full.toml index baf7407..04c5c4c 100644 --- a/installs/full.toml +++ b/installs/full.toml @@ -60,6 +60,9 @@ pkg = [ # Custom kernel kernel = "linux-lts" +# Custom pacman.conf +pacman = "/etc/pacman.conf" + # Enable virtualization virtualization = true diff --git a/src/config.rs b/src/config.rs index 94b31fe..065ddab 100644 --- a/src/config.rs +++ b/src/config.rs @@ -61,6 +61,8 @@ pub struct PackageConfig { pub docker: Option, /// Custom kernel package pub kernel: Option, + /// Custom pacman.conf + pub pacman: Option, } #[derive(Debug, Clone, Deserialize)] diff --git a/src/install/mod.rs b/src/install/mod.rs index 8a53a2b..5c3751b 100644 --- a/src/install/mod.rs +++ b/src/install/mod.rs @@ -127,9 +127,24 @@ pub fn install(mut conf: InstallConfig, bare: bool) { install_mnt(conf, bare); } +pub fn setup_pacman(dir: &str, conf: &str) { + print_status("Installing pacman.conf"); + let dir = std::path::Path::new(dir); + let content = std::fs::read_to_string(&conf).unwrap(); + std::fs::write(dir.join("etc").join("pacman.conf"), content).unwrap(); +} + pub fn install_mnt(conf: InstallConfig, bare: bool) { // Base Install pacstrap_at("/mnt", &conf.pkg.pkg); + setup_pacman( + "/mnt", + &conf + .pkg + .pacman + .clone() + .unwrap_or("/etc/pacman.conf".to_string()), + ); setup_kernel(conf.pkg.kernel.clone()); genfstab();