think: retire Hyprland + MangoWM; add Umbriel + DMS (niri keybind port, Mod+Space → vicinae) #139
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "think-umbriel-dms"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
The 2026-11 compositor trial concluded. Hyprland and MangoWM are removed everywhere; the second-session role next to niri is now Umbriel (noctalia-dev's wlroots 0.20 compositor) with DMS (Dux Modular Shell, ex-DankMaterialShell) as its shell.
What lands
Image (
hosts/thinkpad/host-image/Containerfile)mineiro/hyprlandCOPR, step 2.4 (uwsm session surgery), step 2.7 (hyprpm build deps).umbriel-nightly+xdg-desktop-portal-umbriel-nightlyfrom Terra (COPRs disabled; wlroots 0.20 / libeis / etc. resolve from Fedora proper)dms/dms-cli/dux-search/dgop/matugen(4.2) from the duxlabs/dms COPR (Terra disabled; quickshell still from errornointernet, matching what dux tests against)Umbriel config (
bubblebox/files/.config/umbriel/config.toml) — a section-by-section port of the niri config:vicinae togglepreserved verbatim (the one bind that must never change).move-column-to-workspace-down→window-move-to-workspace-next;focus-monitor-*→output-focus-*;maximize-column→window-toggle-maximize).allow_when_locked) — same as the niri session.umbriel config validateagainst the actual Terra nightly rpm (fetched and run against its own Fedora-44 lib set here).DMS service (
bubblebox/units/dms-umbriel.service) — faithful copy of the rpm'sdms.service, bound toumbriel-session.targetso DMS never runs in niri (Ambxst stays niri-only) or GNOME. Separate unit name keeps the rpm unit unshadowed.Lock —
profile.lockrealized for the new[[files]]/[[units]]entries and the removed ones (blobs = sha256 of the new contents). Runcjust bubblebox-applyon think after merge to pick it up.Gates
hosts/bees/thinkpad-image-verify.sh: requiresniri+umbrielsessions and/usr/bin/{umbriel,dms}; rejects resurrectedhyprland/hyprland-uwsm/mangosessions.umbriel/dmsbinaries,dms-umbriel.servicefailure check.Removed:
hosts/thinkpad/hyprland/kit (runbook stays in git history), hyprland.lua / mango config.conf / uwsm wayland-session desktop file.niri + Ambxst are untouched.
Verification so far
umbriel config validate→ ok (real binary, real rpm).thinkpad-imageCI job on bees (gated onhosts/thinkpad/**changes — this PR trips it).Notes / accepted risks
0^20261105git...) — umbriel is young and its config keys can change; the config gate isumbriel config validateat edit time.The 2026-11 compositor trial concluded. Hyprland (mineiro COPR suite, uwsm session, hyprpm build deps) and MangoWM (Terra) are removed everywhere; the second-session role next to niri is now Umbriel (noctalia-dev, wlroots 0.20) with DMS (Dux Modular Shell, ex-DankMaterialShell) as its shell. - Containerfile: drop the hyprland suite + waybar, step 2.4 (uwsm session surgery) and step 2.7 (hyprpm build deps); step 2.8 installs umbriel-nightly + xdg-desktop-portal-umbriel-nightly (Terra, COPRs disabled in that transaction) and dms/dms-cli/dux-search/dgop/matugen 4.2 (duxlabs/dms COPR, Terra disabled) — same repo-isolation pattern the first mango attempt taught us. - bubblebox: new .config/umbriel/config.toml — a section-by-section port of the niri keybinds (outputs, caps:swapescape, touchpad, Bibata cursor, gaps 8 / border 2 / radius 12, media keys on wpctl), with Mod+Space -> vicinae preserved verbatim; DMS toggles on the spare dux stock binds. Validated with the real umbriel config-validate against the Terra nightly rpm. New dms-umbriel.service unit binds DMS to umbriel-session.target (rpm unit kept unshadowed); ambxst stays niri-only. Retired files/units removed; profile.lock realized to match (sha256 blobs; re-run cjust bubblebox-apply on think to pick it up — the lock id is regenerated). - gates: thinkpad-image-verify now requires niri + umbriel sessions and /usr/bin/{umbriel,dms}, and rejects resurrected hyprland/hyprland-uwsm/mango sessions; post-boot health checks the umbriel session + dms binary and dms-umbriel.service. - portals.conf narrative updated (umbriel portal covers ScreenCast/Screenshot/InputCapture; FileChooser stays pinned to gnome). - hosts/thinkpad/hyprland/ kit deleted (runbook lives in git history). niri + Ambxst are untouched.