Adding Calamares as the graphical installer.

Pulls in `calamares` + `calamares-settings-debian` (the upstream Debian
theme/config package).  Calamares runs from the desktop via the
"Install WROLPi to disk" icon: pkexec elevates, the user types the
wrolpi account password, the standard install wizard opens.

The launcher is the upstream install-debian.desktop with Name and
Comment rebranded to "Install WROLPi to disk" / "Install WROLPi onto
this computer's internal drive".  We keep the upstream install-debian
wrapper script (it handles xhost + pkexec calamares correctly) and just
override the visible labels.

After the chroot creates the wrolpi user the hook copies the launcher
to /home/wrolpi/Desktop/install-wrolpi.desktop and marks it executable
so XFCE launches it without an "untrusted application" warning.

Behaviour:

  Live USB boot          XFCE autologs to wrolpi.  Install icon visible.
                         Click → polkit prompts → Calamares wizard.

  After install + reboot wrolpi-bootstrap.service sets up Postgres on
                         /media/wrolpi/config/postgresql/, runs DB init,
                         starts wrolpi-api / app / kiwix / controller.

Two known phase-3 polish items deferred:
- WROLPi branding for Calamares (logo, colors, slideshow); using stock
  Debian branding for now.
- An orphan install-wrolpi.desktop icon survives on the installed
  system (Calamares removes calamares-settings-debian, taking
  install-debian with it, but not the copy in the user's home).  A
  Calamares shellprocess will rm it in phase 3.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Roland 2026-05-24 12:30:09 -06:00 • committed by lrnselfreliance
parent 3c168a4f2d
commit 2524a017e1
3 changed files with 27 additions and 0 deletions

View file

@ -206,6 +206,18 @@ autologin-user-timeout=0
autologin-session=xfce
EOF
# Calamares launcher on the user's desktop. XFCE shows .desktop files
# placed in ~/Desktop; we use the upstream install-debian wrapper script
# (pulled in by calamares-settings-debian) but rebrand the launcher entry.
# Marked executable so XFCE will launch it without a "trusted application"
# warning. After install Calamares removes calamares-settings-debian, which
# takes install-debian with it; the orphan icon is cleaned up in a
# follow-up Calamares shellprocess (phase 3).
mkdir -p /home/wrolpi/Desktop
cp /usr/share/applications/install-debian.desktop /home/wrolpi/Desktop/install-wrolpi.desktop
chmod +x /home/wrolpi/Desktop/install-wrolpi.desktop
chown -R wrolpi:wrolpi /home/wrolpi/Desktop
# Drop the default Postgres cluster created by the postgresql-* package.
# wrolpi-bootstrap.service creates a fresh cluster on /media/wrolpi/config/postgresql
# at first boot regardless of deployment shape; the cluster files installed

View file

@ -0,0 +1,13 @@
[Desktop Entry]
Type=Application
Version=1.0
Name=Install WROLPi to disk
GenericName=Calamares Installer
Exec=install-debian
Comment=Install WROLPi onto this computer's internal drive
Keywords=calamares;system;install;wrolpi;
Icon=install-debian
Terminal=false
Categories=Qt;System;
StartupWMClass=calamares
StartupNotify=True

View file

@ -5,6 +5,8 @@ bind9-dnsutils
build-essential
bzip2
ca-certificates
calamares
calamares-settings-debian
calibre
cargo
catdoc