From 8653d07e069fc8c2543cbe044d4fce5dbab98518 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Sat, 25 Jul 2026 07:54:04 -0700 Subject: [PATCH] Drop archinstall's zram-generator.conf before pacstrap archinstall's setup_swap writes /etc/systemd/zram-generator.conf directly into the target, but omarchy-settings now ships that file as a packaged config. pacstrap then aborts the transaction on a file conflict ("zram-generator.conf exists in filesystem"), failing the install. Delete archinstall's copy after setup_swap so omarchy-settings' packaged config lands cleanly. We still keep the zram-generator package and service that setup_swap installs. Co-Authored-By: Claude Opus 4.8 (1M context) --- .../share/omarchy-iso/orchestrator/phases_impl.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/configs/airootfs/usr/share/omarchy-iso/orchestrator/phases_impl.py b/configs/airootfs/usr/share/omarchy-iso/orchestrator/phases_impl.py index fe975ef..81c0876 100644 --- a/configs/airootfs/usr/share/omarchy-iso/orchestrator/phases_impl.py +++ b/configs/airootfs/usr/share/omarchy-iso/orchestrator/phases_impl.py @@ -262,6 +262,7 @@ def arch_install_system(ctx: InstallContext) -> None: if config.swap and config.swap.enabled: installer.setup_swap(algo=config.swap.algorithm) + _drop_archinstall_zram_conf(ctx) _install_early_packages(installer) _configure_limine_boot(ctx, installer, config) @@ -566,6 +567,20 @@ DEFERRED_BOOT_HOOKS = ( ) +def _drop_archinstall_zram_conf(ctx: InstallContext) -> None: + """Remove the zram-generator.conf archinstall's setup_swap writes directly. + + omarchy-settings now ships its own /etc/systemd/zram-generator.conf as a + packaged file. setup_swap writes a generic config to that same path before + we pacstrap omarchy-settings, so pacman aborts the transaction with a file + conflict ("zram-generator.conf exists in filesystem"). Delete archinstall's + copy here — we still want the zram-generator package and service that + setup_swap installs, but omarchy-settings' config is the one to keep. + """ + zram_conf = ctx.target / "etc" / "systemd" / "zram-generator.conf" + zram_conf.unlink(missing_ok=True) + + def _install_early_packages(installer) -> None: bootstrap_packages = _early_bootstrap_packages() user_seed_packages = _early_user_seed_packages()