feat: close #54 V2 install safety, #33 rofi scrollbar, #43 MOTD tip
All checks were successful
Check / eval (push) Successful in 3m0s
All checks were successful
Check / eval (push) Successful in 3m0s
#54: permanent checks.installer-safety; test-install-safety harness with offline compose-fail, LUKS-signature disk warn, and HM-hint FORCE paths. #33: enable themed rofi scrollbars (generated + all whole-swap .rasi). #43: MOTD + first-boot tip for System › Firmware (V3 LVFS stays hw-queue). V2: compose-fail/disk-warn/hm-hint logs green offline; theme-shot boreal+summer-night menus OK. V0 flake/installer-safety.
This commit is contained in:
@@ -39,6 +39,11 @@ function first_boot() {
|
||||
fi
|
||||
fi
|
||||
|
||||
if command -v fwupdmgr >/dev/null 2>&1; then
|
||||
gum style --foreground 245 \
|
||||
"Tip: SUPER+M → System › Firmware checks LVFS updates (never auto-flashes)."
|
||||
fi
|
||||
|
||||
gum style --foreground 212 "First boot configuration complete!"
|
||||
echo "You can always change these later in the Control Center."
|
||||
read -r -n 1 -s -p "Press any key to exit..."
|
||||
|
||||
@@ -454,8 +454,19 @@ PYJSON
|
||||
# The flake.lock: composed offline — nomarchy is path-locked to the very
|
||||
# source the ISO carries (original stays the forge URL, so a later
|
||||
# `nix flake update` on the installed machine re-resolves normally).
|
||||
if ! python3 "$SHARE/compose-lock.py" "$SHARE/flake.lock" "$FLAKE_DIR/flake.lock" \
|
||||
# NOMARCHY_TEST_FORCE_COMPOSE_FAIL=1 — unattended harness only (#54 V2):
|
||||
# pretends compose-lock failed so the offline fail-closed arm is exercised
|
||||
# without poisoning the ISO store.
|
||||
compose_ok=0
|
||||
if [[ "${NOMARCHY_TEST_FORCE_COMPOSE_FAIL:-}" == 1 ]]; then
|
||||
compose_ok=1
|
||||
elif python3 "$SHARE/compose-lock.py" "$SHARE/flake.lock" "$FLAKE_DIR/flake.lock" \
|
||||
"$NOMARCHY_LOCKED_JSON" "$NOMARCHY_ORIGINAL_JSON"; then
|
||||
compose_ok=0
|
||||
else
|
||||
compose_ok=1
|
||||
fi
|
||||
if (( compose_ok != 0 )); then
|
||||
if [[ "$OFFLINE" == true ]]; then
|
||||
fail "Offline lock composition failed and there is no network to fall back to — cannot finish an offline install."
|
||||
fi
|
||||
@@ -584,7 +595,19 @@ sleep 2
|
||||
runuser -u "$USERNAME" -- bash -lc \
|
||||
"USER=$USERNAME HOME=/home/$USERNAME NIX_REMOTE=daemon HOME_MANAGER_BACKUP_EXT=bak \$out/activate"
|
||||
EOF
|
||||
if nixos-enter --root /mnt -- bash /root/nomarchy-hm-activate.sh; then
|
||||
# NOMARCHY_TEST_FORCE_HM_FAIL=1 — unattended harness only (#54 V2): take
|
||||
# the failure arm so the durable recovery hint is exercised without a
|
||||
# real activation breakage.
|
||||
hm_activate_ok=0
|
||||
if [[ "${NOMARCHY_TEST_FORCE_HM_FAIL:-}" == 1 ]]; then
|
||||
hm_activate_ok=1
|
||||
warn "NOMARCHY_TEST_FORCE_HM_FAIL=1 — skipping real pre-activate (test harness)"
|
||||
elif nixos-enter --root /mnt -- bash /root/nomarchy-hm-activate.sh; then
|
||||
hm_activate_ok=0
|
||||
else
|
||||
hm_activate_ok=1
|
||||
fi
|
||||
if (( hm_activate_ok == 0 )); then
|
||||
success "Desktop pre-activated — first boot is fully themed"
|
||||
else
|
||||
warn "Desktop pre-activation failed (see /var/log/nomarchy-hm-preactivate.log"
|
||||
|
||||
Reference in New Issue
Block a user