Files
taninux/iso/build-profile/airootfs/root/customize_airootfs.sh
T
karim faaba27ed4 Display arrangement persistence + centering fix, packaging hardening
- core/display.py: write_positions() persists Arrangement's drag-and-drop
  layout into niri's config.kdl (one output { position x= y= } per output),
  validated via `niri validate` on a temp copy with a .kdl.bak backup before
  writing — same pattern as core/keybindings.py's rebind(). Previously the
  page only ever called `niri msg output … position set`, which niri treats
  as live-only and drops on the next login/reload.
- gui/pages/display.py: Arrangement's Apply now runs each output's `niri msg
  output … position set` synchronously instead of queuing them all on the
  single-shot ProcessRunner (which rejects a second run() while the first is
  still async) — a 2-monitor apply previously moved only the first output
  and silently dropped the rest. _dock_to_nearest keeps the free axis at the
  dragged position (so a shorter display can sit vertically centered next to
  a taller rotated one) rather than forcing corner alignment.
- core/panel.py, files/__init__.py: incidental fixes alongside the above.
- packaging/: signing-key generation script + build-user systemd setup for
  the [tanin] AUR auto-rebuild pipeline; PKGBUILD bumped to pkgrel=5.
- src/taninux/browser/: new module for browser theme sync (Fuji accent).
2026-07-13 14:19:50 +02:00

55 lines
2.2 KiB
Bash
Executable File

#!/usr/bin/env bash
# Runs once inside the airootfs chroot during mkarchiso.
set -e -u
# --- locale ---
sed -i 's/#\(en_US\.UTF-8 UTF-8\)/\1/' /etc/locale.gen
locale-gen
# --- trust the [tanin] key(s) (so Required DatabaseOptional verifies) ---
# tanin-repo.gpg currently holds Gitea's repo-DB-signing key (fingerprint
# below), which covers the optional DB signature. Per-PACKAGE signatures
# (now Required) are made by the packaging/gen-signing-key.sh packager key
# instead, so after running that script ONCE:
# 1) re-export tanin-repo.gpg to also contain the packager pubkey, e.g.
# `gpg --export <gitea-fpr> <packager-fpr> > .../pacman.d/tanin-repo.gpg`
# (see the exact steps gen-signing-key.sh prints), then
# 2) add a second line here: `pacman-key --lsign-key <packager-fpr>`
# — without step 2, Required package-signature checks will fail even though
# the key is imported, because it isn't locally trusted yet.
pacman-key --init
pacman-key --populate archlinux
pacman-key --add /etc/pacman.d/tanin-repo.gpg
pacman-key --lsign-key 63F0415879323F6BFE0FBFB2B6FDF356206AF4F6
# --- services in the LIVE image ---
systemctl enable NetworkManager.service
systemctl enable seatd.service
# Live: greetd auto-launches the installer (cage + calamares) via initial_session.
# greetd creates a real logind session WITH A SEAT (the getty-autologin couldn't),
# so cage/wlroots starts. No login prompt — the installer comes up directly.
# (The tanin-greet package set config.toml to its greeter; we override it here for
# the live, and Calamares restores the tanin-greet config on the target.)
cat > /etc/greetd/config.toml <<'GEOF'
[terminal]
vt = 1
[initial_session]
command = "cage -s -- calamares"
user = "root"
[default_session]
command = "agreety --cmd /bin/zsh"
user = "greeter"
GEOF
systemctl enable greetd.service
systemctl set-default graphical.target
# --- plymouth: add the hook so the target initramfs shows the splash ---
# (Calamares regenerates the initramfs on the target; this drop-in is carried
# over by unpackfs. 'quiet splash' goes on the kernel cmdline at install time.)
if ! grep -q plymouth /etc/mkinitcpio.conf 2>/dev/null; then
sed -i 's/^\(HOOKS=.*\)\(udev\)/\1\2 plymouth/' /etc/mkinitcpio.conf 2>/dev/null || true
fi