Skip to content

Package SourceOS Albert plugin so GNOME hotkey + action bus works on clean installs #48

@mdheller

Description

@mdheller

We currently rely on a distro-installed launcher binary, but distro packages will not include our SourceOS actions by default.

Goal

  • Ensure a clean workstation-v0 install yields a working Super+Space launcher + sourceos action surface.

Current state

  • profiles/linux-dev/workstation-v0/ wires a GNOME hotkey and installs a sourceos helper wrapper + status/doctor surfaces.

Problem

  • Our previous plan used Albert, but Albert is not OSI-open: SociOS-Linux/albert ships "Albert license v1.1" which permits redistribution only without modification and includes platform targeting restrictions. nixpkgs classifies Albert as unfree, so building/packaging it fails under default policies.

Decision

  • Pivot to an open-source launcher palette (Wayland-first):
    • Primary: fuzzel (MIT)
    • Fallbacks: wofi (GPL-3.0-only), rofi (GPL)

Implementation plan

  1. Add sourceos palette command (menu UI):
    • Use fuzzel/wofi/rofi dmenu mode to present actions.
    • Actions: status/doctor/open reports, profile apply, common tools.
  2. Update GNOME hotkey to call sourceos palette instead of albert toggle.
  3. Update installer/doctor:
    • Install a launcher (fuzzel) on GNOME hosts when possible.
    • Doctor requires a launcher when GNOME is detected.
  4. Update runbook:
    • Document the new launcher behavior.

Acceptance criteria

  • On a fresh GNOME workstation-v0 install:
    • Super+Space opens the SourceOS palette
    • sourceos status --open and sourceos doctor --open are callable from the palette
    • Doctor passes when required components are present
  • No dependency on non-OSI licenses.

Notes

  • Preserve trust boundaries: avoid silent third-party repo enablement.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions