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) <noreply@anthropic.com>
This commit is contained in:
David Heinemeier HanssonandClaude Opus 4.8 committed 2026-07-25 07:54:04 -07:00
1 parent 5e80c917ea
commit 8653d07e06
1 file changed
+15
@@ -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()