114 lines
3.8 KiB
Plaintext
114 lines
3.8 KiB
Plaintext
# Thin-client package list (live-build .list.chroot format: one package per line).
|
|
# Phase 11, docs/project-plan.md.
|
|
|
|
# --- Wayland compositor / session ---
|
|
sway
|
|
swaylock
|
|
swayidle
|
|
swaybg
|
|
xwayland
|
|
greetd
|
|
foot
|
|
|
|
# --- Remote view/control (the chosen replacement for RDP — see project-plan §2) ---
|
|
wayvnc
|
|
|
|
# --- Browser / media ---
|
|
firefox-esr
|
|
mpv
|
|
# mpv-mpris is packaged in Debian bookworm (mpv-mpris 0.9-x). VERIFY with
|
|
# `apt-cache policy mpv-mpris` against your mirror before the first real build; if it
|
|
# is missing, it has to be built from source in a hook and needs mpv + libmpv-dev.
|
|
mpv-mpris
|
|
libmpv2
|
|
playerctl
|
|
|
|
# --- Audio ---
|
|
pipewire
|
|
pipewire-pulse
|
|
wireplumber
|
|
alsa-utils
|
|
|
|
# --- Steam Link comes from Flathub, not apt (see 0400-flatpak-steamlink.hook.chroot) ---
|
|
flatpak
|
|
|
|
# --- Agent runtime ---
|
|
python3
|
|
python3-venv
|
|
# Debian bookworm ships paho-mqtt 1.6.x. thinclient_agent is written to work against
|
|
# both the 1.x and 2.x callback APIs, so this package is used as-is rather than pip'd.
|
|
python3-paho-mqtt
|
|
procps
|
|
|
|
# --- Networking ---
|
|
# NetworkManager over iwd+systemd-networkd: these boxes are wired-preferred but some
|
|
# rooms will be WiFi-only, and NM handles both from one tool (nmcli/nmtui) that a human
|
|
# can drive over wayvnc or SSH without editing per-interface unit files.
|
|
network-manager
|
|
|
|
# --- Out-of-band admin (wayvnc is the primary remote channel; SSH is the fallback
|
|
# for when the compositor itself is what's broken) ---
|
|
openssh-server
|
|
sudo
|
|
|
|
# --- Now-playing widget (0800-eww-widget.hook.chroot tries apt, falls back to a
|
|
# documented placeholder if not packaged; foot is already listed above for the
|
|
# maintenance-shell keybind, fullscreen-watcher.sh's tree query just needs jq) ---
|
|
eww
|
|
jq
|
|
|
|
# --- Outbound RDP/VNC client (thinclient_agent/remote_desktop.py) — one app for both
|
|
# protocols instead of xfreerdp + a separate VNC viewer ---
|
|
remmina
|
|
remmina-plugin-rdp
|
|
remmina-plugin-vnc
|
|
|
|
# --- HA mobile-app browser remote (thinclient_agent/input_control.py) — Wayland input
|
|
# injection; NOT xdotool, which is X11-only ---
|
|
ydotool
|
|
|
|
# --- Camera gesture control (1100-gesture-control.hook.chroot, OPT-IN per image) ---
|
|
# Deliberately NOT python3-opencv: mediapipe declares opencv-contrib-python as a
|
|
# dependency and pip installs its own copy into the venv regardless, so apt's OpenCV
|
|
# would just be a second unused one. What IS needed from apt is the set of shared
|
|
# libraries those manylinux wheels dlopen at runtime — the wheels bundle none of these.
|
|
libgl1
|
|
libglib2.0-0
|
|
# sounddevice is a hard dependency of mediapipe and loads PortAudio at import time even
|
|
# though only its audio tasks use it.
|
|
libportaudio2
|
|
# For finding the right /dev/video* to put in gesture-config.json: `v4l2-ctl --list-devices`.
|
|
v4l-utils
|
|
|
|
# --- Idle-timeout gallery slideshow (configs/idle-gallery/) — mount.cifs for the
|
|
# read-only SMB share; the slideshow player itself is mpv, already listed above ---
|
|
cifs-utils
|
|
|
|
# --- Firmware for real hardware (needs contrib + non-free-firmware archive areas,
|
|
# which build-thin-client-iso.sh passes to `lb config`) ---
|
|
firmware-linux
|
|
firmware-iwlwifi
|
|
firmware-realtek
|
|
firmware-misc-nonfree
|
|
|
|
# --- Build/runtime deps for the pip-installed voice satellite venv ---
|
|
python3-dev
|
|
build-essential
|
|
libopenblas0
|
|
git
|
|
|
|
# --- Misc ---
|
|
ca-certificates
|
|
curl
|
|
openssl
|
|
less
|
|
vim-tiny
|
|
|
|
# NOTE: wyoming-satellite and openwakeword are Python packages, NOT Debian packages.
|
|
# They are installed into a venv under /opt by 0600-voice-satellite.hook.chroot
|
|
# (PEP 668 makes a bare `pip3 install` into the system interpreter fail on bookworm).
|
|
# NOTE: spotifyd/librespot are not in bookworm main either — see
|
|
# 0500-spotify-connect.hook.chroot.
|
|
# NOTE: mediapipe is not a Debian package at all (no python3-mediapipe in bookworm or
|
|
# trixie); it is PyPI-only and goes into its own venv, see 1100-gesture-control.hook.chroot.
|