Skip to content

fix(setup): point setup-keyboard at the provisioning form - #409

Open
duketopceo wants to merge 1 commit into
omacom:quattrofrom
duketopceo:fix-setup-keyboard
Open

fix(setup): point setup-keyboard at the provisioning form#409
duketopceo wants to merge 1 commit into
omacom:quattrofrom
duketopceo:fix-setup-keyboard

Conversation

@duketopceo

Copy link
Copy Markdown

Summary

Fixes #408.

omarchy setup keyboard still looked for install/first-run/keyboard-layout.sh, which 75cb4f7 ("Make setup ISO-only") removed, so the command exited with a missing-script error and no picker ever appeared.

The rewrite sources install/provisioning/setup-form.sh — the same layout table and gum picker first-boot provisioning uses, so the command can never offer a layout setup could not apply — then persists the choice through localectl:

  • localectl set-keymap writes KEYMAP= for the console
  • localectl --no-convert set-x11-keymap writes XKBLAYOUT/XKBVARIANT to /etc/vconsole.conf and the xorg drop-in
  • default/hypr/input.lua already reads XKBLAYOUT from vconsole.conf, so a hyprctl reload applies the layout to the running session — no relaunch needed
  • Esc and Ctrl+C leave the current layout untouched

Both calls go through polkit, so the active session user needs no sudo (verified on a 4.0.3-1 package install). Also drops the hardcoded $HOME/.local/share/omarchy path for $OMARCHY_PATH with the standard /usr/share/omarchy fallback — the old default made the error message point at a path that only exists on dev checkouts.

Test plan

  • New tests/test-setup-keyboard.sh stubs gum/localectl/hyprctl: UK pick persists uk+gb, Dvorak passes the variant through, cancel writes nothing (6/6 pass)
  • ./test/all green (3 unrelated env failures — no omarchy-pkgs checkout here)
  • bin/omarchy commands --check passes (465 commands)
  • Real run on M1 Pro 4.0.3-1: current layout shown, picker renders (previously instant crash)
  • Interactive pick on a live session (gum UI verified rendering; apply path covered by stub test)

Generated with Devin

omarchy setup keyboard still looked for install/first-run/keyboard-layout.sh,
which "Make setup ISO-only" removed, so the command exited with a missing
script error. Source the shared setup-form picker instead and persist the
choice through localectl, landing KEYMAP/XKBLAYOUT in vconsole.conf where
default/hypr/input.lua already reads them; a hyprctl reload applies the
layout to the running session.

Generated with [Devin](https://devin.ai)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
@wesleygrimes wesleygrimes added the defer Parked. Needs a decision, or may die with the fork. Do not close or port yet. label Sep 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

defer Parked. Needs a decision, or may die with the fork. Do not close or port yet.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

omarchy setup keyboard fails because helper script is missing

2 participants