Skip to content

Split package installation to handle failures gracefully#151

Closed
apiguy wants to merge 7 commits into
basecamp:devfrom
apiguy:split-package-install
Closed

Split package installation to handle failures gracefully#151
apiguy wants to merge 7 commits into
basecamp:devfrom
apiguy:split-package-install

Conversation

@apiguy
Copy link
Copy Markdown

@apiguy apiguy commented Jul 13, 2025

Desktop and xtras scripts now install packages individually rather than in bulk. This prevents a single package failure (often due to PGP key issues) from blocking the installation of all other packages. Failed packages are collected and reported at the end of the installation.

Some non-critical packages may fail to install during installation, resulting in Omarchy installation failing in a partially installed state. Now installation will complete, keeping track of failed packages, allowing a user to choose to manually install those packages which Omarchy reports have failed to install.

Why only these 2 scripts? It seems only these 2 scripts contain proprietary software which has the installation failure likelyhood. Now that 1Password has moved to xtras it could be that only xtras would need this, but I'm not certain.

Testing shows this has minimal impact on performance. The only downside is that dependency resolution happens incrementally instead of all at once, but the end result seems to be the same.

One additional upside to this approach, it's much easier to see which packages are being installed, and simpler to add another to the list.

Some examples of packages which fail to install from time to time:

Spotify - Usually due to GPG Keys

It is expected that the package will break now and then, as spotify continuously changes download binaries, gpg keys etc (which is not appropriate, but we cannot change this). Please be patient if an update does not occur the next day, you can still use an existing spotify install or update the version yourself.

1Password - GPG key needs to be installed sometimes

If you encounter public key expiry, run
curl -sS https://downloads.1password.com/linux/keys/1password.asc | gpg --import

  • Should we just do this as a part of the install script?

Typora - Good maintainer but sometimes the package breaks

Probably don't want to halt all of Omarchy install just because this package breaks. Can be manually installed later after maintainer gets time to fix.

Dropbox - Since 2019 still breaks in the same way occasionally

Run the following command in case you got errors during "Verifying source file signatures with gpg..."
gpg --recv-keys 1C61A2656FB57B7E4DE0F4C1FC918B335044912E
Alternatively, you can download Dropbox's public key from https://linux.dropbox.com/fedora/rpm-public-key.asc and import it with:
gpg --import rpm-public-key.asc

Maybe we should do this automatically?

rockorager and others added 7 commits July 10, 2025 13:45
When archinstall is run using an ethernet connection, iwd will not be
installed. Explicitly install and enable the service
Add override to only require one network interface online
…xtras scripts now install packages individually rather than in bulk. This prevents a single package failure (often due to PGP key issues) from blocking the installation of all other packages. Failed packages are collected and reported at the end of the installation.
@dhh
Copy link
Copy Markdown
Member

dhh commented Jul 15, 2025

I've made xtras.sh more resilient towards those known issues, but done so in a less invasive way. Thanks for finding all these spots! If you notice any other packages that are potentially flaky in similar ways, we can follow this pattern again.

@dhh dhh closed this Jul 15, 2025
iharsuvorau pushed a commit to iharsuvorau/omarchy that referenced this pull request Jul 16, 2025
chriopter pushed a commit to chriopter/omarchy that referenced this pull request Nov 18, 2025
maralcbr pushed a commit to maralcbr/omarchy-mac that referenced this pull request Mar 22, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants