# fileserver/

All files in this directory are synced to the portal's file server and served
at `http://<portal>:5000/files/first-boot/`. The `first-boot.sh` script
downloads them during provisioning via the `FILE_SERVER` variable.

Sync to the LXC with:

```bash
../scripts/sync-portal-files-to-lxc.sh root@<lxc-ip>
```

## Layout

| Path | Purpose |
|------|---------|
| `steps/01-hostname.sh` … `steps/13-reboot.sh` | Step scripts sourced by `first-boot.sh` |
| `start-chromium.sh` | Chromium kiosk launcher (touch-friendly flags) |
| `five-tap-close-chromium.py` | 5-tap overlay to close Chromium (Wayland layer-shell) |
| `chromium-kiosk.desktop` | Autostart for Chromium kiosk |
| `chromium-kiosk-launcher.desktop` | Desktop icon to restart Chromium |
| `five-tap-close-chromium.desktop` | Autostart for the 5-tap overlay |
| `chromium-kiosk-no-select/` | Chromium extension: disables text selection for kiosk |
| `set-rotation-at-login.sh` / `.desktop` | Per-login kanshi rotation + kanshi restart |
| `01-set-rotation-once.sh` / `.desktop` | One-shot: first-login rotation + dark theme + kanshi restart |
| `02-set-wallpaper-once.sh` / `.desktop` | One-shot: wallpaper via swaybg |
| `99-default-session.conf` | LightDM → rpd-labwc session |
| `99-wallpaper.conf` | LightDM greeter wallpaper |
| `maliit-keyboard.desktop` | Maliit on-screen keyboard autostart |
| `gtk.css` | GTK3 CSS override (dark menus/popovers) |
| `wf-panel-pi.ini` | Dark taskbar config |
| `panel-theme.css` | Dark taskbar CSS |
| `custom.plymouth` / `custom.script` | Plymouth boot splash theme |
| `splash.png` | Boot splash + wallpaper image (binary) |
| `start-here.png` | Taskbar start button icon (binary, optional) |
