From 2d44ad59be5acaa87b7f5ffe5516713649d014ec Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Mon, 10 Aug 2026 07:38:47 -0700 Subject: [PATCH] End deferred first boot on the finished progress bar Clearing it for a "Starting Omarchy..." card only flashed another screen before SDDM took over. The cursor now stays hidden through the handoff and comes back only on the failure path, where the retry prompt needs it. Co-Authored-By: Claude Opus 5 (1M context) --- bin/omarchy-provision-owner | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/bin/omarchy-provision-owner b/bin/omarchy-provision-owner index 7f8ab00e..c3b6119c 100755 --- a/bin/omarchy-provision-owner +++ b/bin/omarchy-provision-owner @@ -1023,10 +1023,14 @@ run_setup() { sleep 0.5 done + # The cursor comes back only on the failure path, where the retry prompt needs + # it. A clean run keeps it hidden through the last frame and the handoff. local status=0 wait "$worker" || status=$? - printf '%s' "$SHOW_CURSOR" - (( status == 0 )) || return "$status" + if (( status != 0 )); then + printf '%s' "$SHOW_CURSOR" + return "$status" + fi # One full-bar frame so the finish doesn't cut in mid-progress. echo done >"$STATE_FILE" @@ -1045,11 +1049,9 @@ run_setup() { # Deferred first boot hands straight off to the display manager: SDDM starts # the moment this oneshot exits (Before=display-manager.service) and autologs # in on encrypted installs. No timed celebration screen and no "start" button - # here — that send-off belongs to a direct install, not first-boot setup. - clear_logo - echo - say "Starting Omarchy..." - sleep 1 + # here — that send-off belongs to a direct install, not first-boot setup. The + # finished progress bar is the last frame; clearing it for a "Starting + # Omarchy..." card would only add a flash of screen before the handoff. } # A failed first-boot setup must not strand the machine at a user-less login