Proof Portal

Project overview

Omarchy

ProbeLabs65 findings · 95 requirements

A proof layer — requirements, tests and verified fixes — for two of Omarchy's subsystems: the application menu (launcher scripts, QML model, JSONC config, search and selection) and the lock screen (lock scripts, QML, PAM authentication). Scope is deliberately limited to those components of omacom/omarchy; the rest of the distribution is not covered.

Inbox
ReportR-4999GitHub issuePublicReceived

omarchy install service sunshine: enables sunshine.service, but the package ships app-dev.lizardbyte.app.Sunshine.service

Reported by rhwaddell · filed Sep 10, 2026Closed upstream on 2026-09-20 by bjarneo via an automated message, as a duplicate of #7050 (R-1810). GitHub close reason: completed.

Received and recorded verbatim. Nothing has been checked yet.

At a glance

1 · What is claimed?
Only the report text below — no validator has restated it as checkable claims yet.
2 · What does it affect?
Not yet mapped to any requirement or component.
3 · Is it reproducible?
No validation has been run yet.
4 · What remains unclear?
  • Not validated yet: no claims, no reproducer.
5 · What happens next?
Our staff decide whether the report is valid. Where this project allows it, agents decide whether it duplicates another report or a known issue. No decision has been recorded yet.

Original report

omarchy install service sunshine: enables sunshine.service, but the package ships app-dev.lizardbyte.app.Sunshine.servicerevision 1 · captured 2026-10-04 12:10 UTC via poll

What happened

omarchy install service sunshine aborts partway through. The package installs, but the
service is never enabled and every step after it is skipped.

Installing Sunshine...
Failed to enable unit: Unit sunshine.service does not exist

The installer runs:

omarchy-pkg-add sunshine
systemctl --user enable --now sunshine     # <-- fails here

But the sunshine package (2026.516.143833-4.1) ships its unit under a reverse-DNS name:

/usr/lib/systemd/user/app-dev.lizardbyte.app.Sunshine.service

There is no sunshine.service on disk. That name only exists as an Alias= inside the
unit's [Install] section, so the symlink is not created until the unit is enabled *by its
real name*. The installer therefore enables a unit that does not yet exist.

Because omarchy-install-service-sunshine runs under set -e, the script exits at that
line and never reaches:

  • open_ufw_ports — Moonlight's TCP/UDP ports stay closed, so clients cannot connect
  • install_admin_webapp — no "Sunshine Admin" launcher for the https://localhost:47990 UI
  • enable_hyprland_autostart — no autostart entry

The user is left with Sunshine installed, not running, and unreachable, with no indication
that four of the five steps were skipped.

A second-run trap

Enabling the real unit by hand fixes the service, but it also creates the alias symlink:

Created symlink ~/.config/systemd/user/sunshine.service
  -> /usr/lib/systemd/user/app-dev.lizardbyte.app.Sunshine.service

Re-running the installer then fails a different way, because systemd will not enable a
name that is now a linked unit:

Installing Sunshine...
Failed to enable unit: Refusing to operate on linked unit file sunshine.service

So the script cannot complete on the first run or on any subsequent run.

Expected

omarchy install service sunshine enables Sunshine and completes the firewall, web app,
and autostart steps.

Steps to reproduce

  1. On a clean Omarchy 4.0.3-1 install, run omarchy install service sunshine
  2. Observe Failed to enable unit: Unit sunshine.service does not exist
  3. systemctl --user status sunshine — not running
  4. sudo ufw status — no omarchy-sunshine rules

Workaround

systemctl --user enable --now app-dev.lizardbyte.app.Sunshine.service

Then perform the firewall, web app, and autostart steps manually.

Suggested fix

Enable the unit by its real name, falling back for future package renames — e.g. resolve the
unit via systemctl --user list-unit-files 'app-dev.lizardbyte.app.Sunshine.service' 'sunshine.service'
and enable whichever exists. Treating the enable as non-fatal would also stop one failure
from silently skipping the firewall step, which is the part that actually leaves Sunshine
unreachable.

System details

  • Omarchy: 4.0.3-1
  • Package: sunshine 2026.516.143833-4.1
  • Kernel: 7.2.3-arch1-Watanare-T2-2-t2
  • CPU: Intel Core i3-8100B (2018 Mac mini, T2)
  • GPU: Intel UHD Graphics 630 (VAAPI; h264_vaapi + hevc_vaapi both work once running)
View raw text
### What happened

`omarchy install service sunshine` aborts partway through. The package installs, but the
service is never enabled and every step after it is skipped.

```
Installing Sunshine...
Failed to enable unit: Unit sunshine.service does not exist
```

The installer runs:

```bash
omarchy-pkg-add sunshine
systemctl --user enable --now sunshine     # <-- fails here
```

But the `sunshine` package (2026.516.143833-4.1) ships its unit under a reverse-DNS name:

```
/usr/lib/systemd/user/app-dev.lizardbyte.app.Sunshine.service
```

There is no `sunshine.service` on disk. That name only exists as an `Alias=` inside the
unit's `[Install]` section, so the symlink is not created until the unit is enabled *by its
real name*. The installer therefore enables a unit that does not yet exist.

Because `omarchy-install-service-sunshine` runs under `set -e`, the script exits at that
line and never reaches:

- `open_ufw_ports` — Moonlight's TCP/UDP ports stay closed, so clients cannot connect
- `install_admin_webapp` — no "Sunshine Admin" launcher for the `https://localhost:47990` UI
- `enable_hyprland_autostart` — no autostart entry

The user is left with Sunshine installed, not running, and unreachable, with no indication
that four of the five steps were skipped.

### A second-run trap

Enabling the real unit by hand fixes the service, but it also creates the alias symlink:

```
Created symlink ~/.config/systemd/user/sunshine.service
  -> /usr/lib/systemd/user/app-dev.lizardbyte.app.Sunshine.service
```

Re-running the installer then fails a *different* way, because systemd will not enable a
name that is now a linked unit:

```
Installing Sunshine...
Failed to enable unit: Refusing to operate on linked unit file sunshine.service
```

So the script cannot complete on the first run or on any subsequent run.

### Expected

`omarchy install service sunshine` enables Sunshine and completes the firewall, web app,
and autostart steps.

### Steps to reproduce

1. On a clean Omarchy 4.0.3-1 install, run `omarchy install service sunshine`
2. Observe `Failed to enable unit: Unit sunshine.service does not exist`
3. `systemctl --user status sunshine` — not running
4. `sudo ufw status` — no `omarchy-sunshine` rules

### Workaround

```bash
systemctl --user enable --now app-dev.lizardbyte.app.Sunshine.service
```

Then perform the firewall, web app, and autostart steps manually.

### Suggested fix

Enable the unit by its real name, falling back for future package renames — e.g. resolve the
unit via `systemctl --user list-unit-files 'app-dev.lizardbyte.app.Sunshine.service' 'sunshine.service'`
and enable whichever exists. Treating the enable as non-fatal would also stop one failure
from silently skipping the firewall step, which is the part that actually leaves Sunshine
unreachable.

### System details

- Omarchy: 4.0.3-1
- Package: sunshine 2026.516.143833-4.1
- Kernel: 7.2.3-arch1-Watanare-T2-2-t2
- CPU: Intel Core i3-8100B (2018 Mac mini, T2)
- GPU: Intel UHD Graphics 630 (VAAPI; h264_vaapi + hevc_vaapi both work once running)

Validation

Not checked yet. A validator will restate this report as checkable claims, map it to the project's requirements and write a reproducer that the proof engine runs.

Linked

Not linked to any known issue, other report or change yet.

Decision

Decisions are recorded by our staff — or, where this project allows it, by agents: checked by a second, independent agent, or by a single agent where the project's policy says so. Any decision reached so far is shown below.

No decision has been recorded yet.