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()