# os-init Post-install initialization scripts, one directory per operating system. | Directory | Target | Script | |-----------|--------|--------| | `debian/` | Debian 13 (GNOME desktop) | `debian13-init.sh` | | `macos/` | macOS | `macos-init.sh` | ## Conventions - Each OS directory is self-contained: a single script, run directly on the target machine, plus its own `AGENTS.md` for OS-specific rules. - Scripts must be idempotent (safe to run repeatedly) and must not change security-sensitive settings without an explicit opt-in. - Add a new OS by creating `/` with `-init.sh` and adding a row to the table above. ## Known Issues ### macOS: Wubi commits the candidate when switching to English While composing with the built-in Wubi input method (`com.apple.inputmethod.SCIM.WBX`), for example typing `wq` with the candidate `你` showing, pressing Shift to switch to English commits `你` instead of the raw letters `wq`. - Status: open. There is no system setting for it, and the state lives in the input method's sandbox container, so `macos-init.sh` cannot configure it. - Workarounds: press Esc to cancel the composition before switching; press Return (not verified); or switch to the ABC keyboard (Caps Lock or Ctrl+Space) before typing. - Possible fix: use Squirrel (Rime) with `ascii_composer/switch_key: Shift_L: commit_code` in `default.custom.yaml`. It must be installed manually, as the repository forbids `curl | sh`. - Expected behavior: Shift during composition should commit the raw letters and then switch to English; only Space, a number key, or Return should confirm a candidate. - Upstream: the input method is built into macOS and maintained by Apple. Report it through Feedback Assistant (macOS > Input Methods).