faaba27ed4
- 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).
55 lines
2.2 KiB
Bash
Executable File
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
|