Skip to content

Guard omitted fcitx5 and bt-agent user units - #106

Open
Fail-Safe wants to merge 1 commit into
omacom:mainfrom
Fail-Safe:fix/fcitx5-service-guard
Open

Guard omitted fcitx5 and bt-agent user units#106
Fail-Safe wants to merge 1 commit into
omacom:mainfrom
Fail-Safe:fix/fcitx5-service-guard

Conversation

@Fail-Safe

@Fail-Safe Fail-Safe commented Sep 3, 2026

Copy link
Copy Markdown

Summary

  • add ConditionPathExists drop-ins for omarchy-fcitx5.service and bt-agent.service so units enabled by Omarchy's first-run script stay inert when their binaries are absent from the trimmed ARM64 guest
  • cover both guards in the guest contract suite

Fixes #91

Problem

The guest materializes and enables omarchy-fcitx5.service, but fcitx5 is not in the factory package set. With Restart=always / RestartSec=2, the unit 203/EXEC-loops and can dominate the journal. bt-agent.service has the same binary gap; it only stays quiet today because /sys/class/bluetooth is missing in the VM.

Approach

Match the idiom already used by upstream omarchy-tailscale-receive.service: guest-side drop-ins under etc/systemd/user/*.service.d/ with ConditionPathExists on the ExecStart binary. Installing either package later makes the existing enabled unit start normally.

Test plan

  • python3 -m unittest discover -s guest/tests -p 'test_*.py'
  • python3 guest/tests/verify.py
  • After guest rebuild: systemctl --user status omarchy-fcitx5.service shows skipped/condition rather than restarting; journal no longer floods with 203/EXEC
  • Optional: install fcitx5 and confirm the unit becomes startable without changing the drop-in

The trimmed ARM64 guest enables these Omarchy units without shipping their
binaries, so fcitx5 Restart=always floods the journal with 203/EXEC. Skip
both units with ConditionPathExists until the packages are installed.

Co-authored-by: Cursor <cursoragent@cursor.com>
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.

Guest image omits fcitx5 but still enables omarchy-fcitx5.service — infinite 203/EXEC loop floods 80% of the journal

1 participant