Add orionpkg (package manager GUI) + installer locale step

orionpkg/orionpkg.c (~500 lines, native Xlib/Xft):
- Launches with checkupdates (pacman-contrib) to list pending upgrades
- ST_CHECKING: animated spinner while querying
- ST_UPDATES: scrollable package list with name / old ver → new ver columns
- ST_UPDATING: pkexec pacman -Syu in background, live log output,
  progress bar estimated from pacman's (N/M) counters
- ST_DONE / ST_ERROR: success or failure screen
- Refresh (r key), scroll (mouse wheel / arrow keys), Close (Esc/q)
- pacman-contrib added to ISO packages

Installer: add STEP_LOCALE (timezone + keyboard layout):
- Inserted between STEP_DISK and STEP_USER
- Timezone pane: searchable filter input + scrollable list of 37 zones
- Keyboard pane: 20 common layouts with code + description
- Timezone and keyboard passed as args 6/7 to orioninstall
- orioninstall: sets /etc/vconsole.conf and X11 xorg.conf.d keyboard
  config from args; uses selected timezone for localtime symlink

Also:
- Right-click menu: "Software Updates" → orionpkg
- Root Makefile: orionpkg target + install rule
- ISO: orionpkg binary installed, permissions map, gitignore

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
nmemmertandClaude Sonnet 4.6 committed 2026-07-23 14:39:00 -04:00
1 parent 53c6199102
commit 0ed61cea4c
8 files changed
+1000 -6

No files matched your search

+19 -2
View File
@@ -18,7 +18,9 @@ if [[ "${1:-}" == "--gui" ]]; then
HOSTNAME="${3:?missing hostname}"
USERNAME="${4:?missing username}"
PASSWORD="${5:?missing password}"
shift 5 2>/dev/null || true
TIMEZONE="${6:-UTC}"
KEYBOARD="${7:-us}"
shift 7 2>/dev/null || true
fi
# ── output helpers ────────────────────────────────────────────────────
@@ -193,8 +195,23 @@ sed -i 's/#en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen 2>/dev/null ||
locale-gen
echo "LANG=en_US.UTF-8" > /etc/locale.conf
# Console keyboard layout
echo "KEYMAP=${KEYBOARD:-us}" > /etc/vconsole.conf
# X11 keyboard layout
mkdir -p /etc/X11/xorg.conf.d
cat > /etc/X11/xorg.conf.d/10-keyboard.conf <<KBEOF
Section "InputClass"
Identifier "All Keyboards"
MatchIsKeyboard "on"
Driver "libinput"
Option "XkbLayout" "${KEYBOARD:-us}"
Option "XkbOptions" "terminate:ctrl_alt_bksp"
EndSection
KBEOF
# Timezone
ln -sf /usr/share/zoneinfo/UTC /etc/localtime
ln -sf "/usr/share/zoneinfo/${TIMEZONE:-UTC}" /etc/localtime
hwclock --systohc 2>/dev/null || true
# Remove live-only archiso package to prevent mkinitcpio confusion