6.5 KiB
6.5 KiB
OmarchyCN task list
Progress source of truth for the omarchycn branches of omarchy, omarchy-iso and omarchy-pkgs. Work top to bottom, one item at a time. Each item closes only after a codex review (GPT 6.1 Sol, xhigh, in a herdr split) passes; at most 5 reviews per item.
Decisions (confirmed with the owner, 2026-10-05)
- Region is machine state in
/etc/omarchy/region(china); absent means Global. - Arch and Omarchy repos follow the domain plan: every
*.omarchy.orgserver gets a*.omarchy.cntwin listed first.pkgs.omarchy.cnis live;stable-mirror,rc-mirrorandmirror.omarchy.cndo not resolve yet, so pacman falls through to.org. - China means a Chinese UI:
LANG=zh_CN.UTF-8and Chinese menu labels. Global meansen_US.UTF-8.omarchy updatenever touches the locale. - Input method: rime-ice-installer (omarchy-pkgs PR 265, not merged yet). The ISO bundles the package, the Rime Ice
full.zipand the Wanxiang grammar model; the install finishes with Rime and US keyboard ready, Ctrl+Space toggles. The installer gets a local patch:--asset-dirand no sudo when its packages are present. - China to Global: switch sources and language, keep CJK fonts and the input method, remove the Claude Code third-party provider entry and the env it wrote, hide the China software entry. Dim and Kimi stay for every region.
- Deferred provisioning and factory reset get the region's system setup but no offline input method (deferred).
Shipping prerequisites
- The region screen, Rime bundling and local
rime-ice-installerbuild exist only on theomarchycnbranches: a China-ready ISO is built by running./bin/omarchy-iso-make --local-source ../omarchy ../omarchy-pkgsfromomarchy-iso/until they are merged and published. - omarchy-pkgs PR 265 (rime-ice-installer) must merge, with
omarchy-offline.patchupstreamed to manateelazycat/rime-ice-installer, before non-local ISO builds can list it. - omarchy-iso PR 210 (stop passing
offlineto archinstall 4.5'ssanity_check) is cherry-picked onomarchy-iso/omarchycn; the edge snapshot already ships archinstall 4.5. stable-mirror.omarchy.cn,rc-mirror.omarchy.cnandmirror.omarchy.cnmust resolve for Arch packages to come from China; until then pacman falls through to.org.
Tasks
- T0 Branches and this list
- T1 China package sources (PRD 1): region state,
omarchy-regionreader,default/region/china/pacman.sed, applied byomarchy-refresh-pacmanandinstall/post-install/pacman.sh; tests - T2 Region choice in the installer (PRD 2):
omarchy_prompt_regioninsetup-form.sh, ISO configurator screen, orchestrator passesOMARCHY_REGION,install/config/region.shrecords it - T3 Input method (PRD 3): rime-ice-installer patch and PKGBUILD in omarchy-pkgs, IME packages in
omarchy-other.packages, install-time package add, user step runs the installer from bundled assets, ISO build bundles assets and the package - T4 CJK fontconfig fix (PRD 4): rebuild PR 9693 on the current base
- T5 AI (PRD 5): Dim and Kimi Code for every region (rebuild PR 9694), Claude Code third-party provider setup shown only in China
- T6 Developer mirrors (PRD 6): npm, PyPI/uv, Go, rustup, crates.io, RubyGems, Maven via system drop-ins under
default/region/china/ - T7 China software (PRD 7): Install menu entry shown only in China
- T8 Region switching and Chinese UI (PRD 8):
omarchy-region china|global, Setup > Region, locale, Chinese menu overlay chosen byLANG - T9 Logo (PRD 9): stock Omarchy logo everywhere
- T10 Docs:
AGENTS.md, manual - T11 Test ISO build (local source)
- T12 QEMU install and verification: China and Global installs, region switch,
omarchy updatekeeps region and language - T13 Acceptance checklist
Acceptance checklist
Evidence comes from the T12 runs of omarchy-iso/release/omarchy-2026.10.06-x86_64-local.iso in QEMU (omarchy 4e323342, omarchy-iso 8d069b0, omarchy-pkgs a84ad64c).
| # | Requirement | Result | Evidence |
|---|---|---|---|
| 1 | China package sources: pkgs.omarchy.cn before .org, Arch .cn mirrors before .org, omarchy update keeps them |
Pass | China install has a .cn twin above each .org server in pacman.conf and mirrorlist; omarchy update -y keeps them; region-test.sh, region-switch-test.sh. Arch .cn hosts do not resolve yet, so pacman falls through to .org. |
| 2 | Region choice on the installer's first screen | Pass | Configurator asks Global/China before the keyboard; summary shows the region; test_region.py, setup-form-test.sh; both QEMU installs answered it. |
| 3 | Chinese input ready at first login, Ctrl+Space toggles | Pass | China install: Rime Ice and the Wanxiang model from the ISO, no prompt; after reboot Ctrl+Space typed 中文, then Ctrl+Space typed ok. Global install has no Rime. |
| 4 | CJK font fix (PR 9693) | Pass | 50-omarchy.conf rebuilt; fontconfig-cjk-test.sh covers fc-match and the string lang path apps use; China VM resolves SC, JP and Latin mono as expected. |
| 5 | Claude Code third-party API in settings; Kimi Code and Dim | Pass | Setup > Claude Code API (China only) wrote the DeepSeek env; claude -p reached api.deepseek.com (401 for a fake key). dim 0.5.16 and kimi 2.1.1 run on both regions. |
| 6 | China mirrors for npm, Arch, Ruby, Go, Rust, Python, Java | Pass | China VM: npm, pip, uv, go, rustup, cargo, gem, bundler and maven each exit 0, leave the artifact and log the npmmirror or Aliyun URL. |
| 7 | China software entry | Pass | Install > China Apps lists WeChat and the others only in China; china-apps-test.sh. |
| 8 | Region switch in settings | Pass | China to Global: .org only, en_US, drop-ins and Claude env removed, CJK fonts and Rime kept, China rows hidden, omarchy update -y stays Global and English (old bug fixed). Global to China: .cn twins, zh_CN, Rime set up, update keeps it. Global from the start installs no Rime. Dim and Kimi stay in every case. |
| 9 | Stock Omarchy logo only | Pass | No OmarchyCN asset in any of the three branches; screens show the stock logo. |
| - | Test ISO built and tested in QEMU | Pass | Local-source ISO; China guest checks 16/16, Global 9/9; in-guest ./test/all 4635 ok. |
Open items outside this branch: the shipping prerequisites above; upstream acceptance-suite failures (surfaces kept mapped at 1x1, English OCR on a Chinese UI, notification OCR timeout); deferred provisioning and factory reset get no offline input method; the menu's "Go…" prompt and keybinding and notification texts stay English.