Commit Graph
14 Commits
Author SHA1 Message Date
ZacharyZhang-NY 76b9331d8b Escape commas in the keyboard preselect; gum splits --selected on them 2026-10-09 00:52:26 -04:00
ZacharyZhang-NY e5b01ace6b Ask for the language, not the region, on the installer's first screen
omarchy_prompt_keyboard takes the layout to preselect.
2026-10-09 00:15:06 -04:00
ZacharyZhang-NY fdd457c0fa Merge #14433 input methods and remove Rime
The keyboard choice and omarchy-setup-input own Chinese input now. The
new passwordless sudo and input tooltips get Chinese text.
2026-10-08 23:30:41 -04:00
ZacharyZhang-NY 4521dac023 Merge reworked #13690: timezone-derived region and channel mirror prepends
Drop the .cn servers.sed twins, the USTC Arch fallback and the closed
#14399 timezone preselection. region.sh follows the installer's marker.
2026-10-08 22:43:55 -04:00
ZacharyZhang-NY 9a57690e7d Align the China region to the official cn profile
The region value is cn, the China files live under default/regions/cn/, and
omarchy-apply-pacman renders pacman for every caller: the .cn twins of the
channel servers first, then .org, USTC and ArchLinuxCN. Switching to China
installs and trusts the ArchLinuxCN keyring. A migration renames china to cn
and repoints the drop-in links.
2026-10-07 11:33:01 -04:00
ZacharyZhang-NY d2e4a95aed Merge branch 'pr-14399' into omarchycn
# Conflicts:
#	bin/omarchy-refresh-pacman
#	install/post-install/pacman.sh
2026-10-07 11:08:25 -04:00
David Heinemeier Hansson 9fe6a04715 Unify input methods with the installer keyboard selection 2026-10-07 12:59:36 +02:00
Kros DaiandClaude Opus 5.5 d53b24cfc7 ✨ feat(form): let callers preselect a fallback timezone
- ✨ an offline install has no geo guess, so the timezone list opened on Africa/Abidjan; a caller-supplied zone now stands in for the missing guess
- ✅ a successful geo guess still outranks the fallback

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SdXqTwm63rRMwotZ1xqLC8
2026-10-06 22:14:56 -04:00
ZacharyZhang-NY 41c491ae4c Keep the setup form's new comments to one line 2026-10-06 18:44:49 -04:00
ZacharyZhang-NY b268838479 Give the setup form Chinese text for the ISO's China installs 2026-10-06 18:29:20 -04:00
ZacharyZhang-NY b6bf851af4 Preselect the current region when the form asks again 2026-10-05 23:25:57 -04:00
ZacharyZhang-NY c86af5cea5 Record the installer's region choice during system setup 2026-10-05 23:20:36 -04:00
b07374f03c Reserve the cups-browsed account name at install
The username prompt already refuses the service accounts a desktop user must not claim, cups and lp among them. A user who took cups-browsed would get a primary group of that name, and the CUPS authorization written here puts that group in SystemGroup, handing that desktop user the passwordless administration the rest of this change removes.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Codex XHigh <noreply@openai.com>
2026-08-27 19:55:36 +02:00
David Heinemeier HanssonandClaude Opus 5 7644b56d4e Extract the setup form shared with the ISO installer (#6669)
The keyboard layout list, the account and hostname validation rules, and the
gum prompts that ask for them all existed twice: once in the ISO
configurator's user step, once in first-boot owner setup. Nothing kept the
copies honest, and they had already drifted — a layout removed on one side
moved English (US) onto a page boundary on the other, burying the default at
the bottom of a screen of layouts.

install/provisioning/setup-form.sh is now the only copy. The PKGBUILD's
existing `cp -a install` ships it to /usr/share/omarchy/install/provisioning/,
and the ISO build vendors that very file out of the runtime package it
bundles, so an install and the first boot that finishes it cannot offer
different layouts or accept different usernames.

Cancel handling is unified along the way, which is what made the prompts
shareable at all. Every prompt reports 0 (answered), 1 (Esc — unwind to the
start of the form), or 130 (Ctrl+C — a side channel each caller defines).
Previously Esc and Ctrl+C were indistinguishable here: both re-asked the same
field, so there was no way back to an earlier answer. Ctrl+C now offers a
confirmed reboot instead. It cannot be a SIGINT trap — gum reads Ctrl+C as a
byte in raw mode, so the shell never receives the signal — so it hangs off the
exit status.

Status capture is written as `x=$(gum ...) && status=0 || status=$?` because
this script runs under `set -e`, where a cancelled prompt is a failing
assignment that would kill setup before the status could be read.

English (US) also leads the layout list now, ahead of the other English
variants. gum choose paginates in --height-sized pages and jumps to the page
holding --selected, so an alphabetical default landed wherever the list length
happened to put it.

Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
2026-08-10 11:19:23 +02:00