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
- Add
sourceos palette command (menu UI):
- Use fuzzel/wofi/rofi
dmenu mode to present actions.
- Actions: status/doctor/open reports, profile apply, common tools.
- Update GNOME hotkey to call
sourceos palette instead of albert toggle.
- Update installer/doctor:
- Install a launcher (fuzzel) on GNOME hosts when possible.
- Doctor requires a launcher when GNOME is detected.
- 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.
We currently rely on a distro-installed launcher binary, but distro packages will not include our SourceOS actions by default.
Goal
sourceosaction surface.Current state
profiles/linux-dev/workstation-v0/wires a GNOME hotkey and installs asourceoshelper wrapper + status/doctor surfaces.Problem
SociOS-Linux/albertships "Albert license v1.1" which permits redistribution only without modification and includes platform targeting restrictions. nixpkgs classifies Albert asunfree, so building/packaging it fails under default policies.Decision
fuzzel(MIT)wofi(GPL-3.0-only),rofi(GPL)Implementation plan
sourceos palettecommand (menu UI):dmenumode to present actions.sourceos paletteinstead ofalbert toggle.Acceptance criteria
sourceos status --openandsourceos doctor --openare callable from the paletteNotes