deploy: bootable slim Sintra image + shared UP Board serial hardware #72
1 changed files with 14 additions and 2 deletions
perf(deploy): slim the kiosk closure (disable TTS, Qt, docs)
The disk image was ~6.2 GiB of closure, largely desktop/multimedia baggage a single-purpose Electron kiosk never uses. Cut the clearly-unused stacks: - services.speechd off → drops speech-dispatcher's espeak-ng + mbrola voices (~1 GB text-to-speech). An ATM does not talk. - v4l-utils built withGUI=false → drops the entire Qt6 stack (~0.5 GB) that only backed the qv4l2 GUI; the v4l2-ctl CLI we actually use for the camera stays. - documentation off (man/info/NixOS manual) — nobody reads them on a kiosk. Closure 6.2 → 5.0 GiB. The remaining bulk is electron's own runtime (gtk4/ gstreamer/pipewire, unavoidable), mesa+llvm (GPU), and linux-firmware — those need heavier / riskier work to touch. Distribute the image as .img.zst. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
commit
5a420119df
|
|
@ -7,6 +7,16 @@
|
||||||
# System basics
|
# System basics
|
||||||
system.stateVersion = "24.05";
|
system.stateVersion = "24.05";
|
||||||
|
|
||||||
|
# ── Image slimming (bitspire#70 sizing) ──────────────────────────────
|
||||||
|
# This is a single-purpose Electron kiosk; strip the desktop/multimedia
|
||||||
|
# baggage NixOS pulls in by default so the disk image stays lean.
|
||||||
|
# - speechd: text-to-speech (speech-dispatcher → espeak-ng → mbrola, ~1GB).
|
||||||
|
# An ATM does not talk.
|
||||||
|
# - documentation: man/info/NixOS manual — no one reads them on a kiosk.
|
||||||
|
services.speechd.enable = lib.mkForce false;
|
||||||
|
documentation.enable = false;
|
||||||
|
documentation.nixos.enable = false;
|
||||||
|
|
||||||
# Networking
|
# Networking
|
||||||
networking = {
|
networking = {
|
||||||
hostName = "bitspire";
|
hostName = "bitspire";
|
||||||
|
|
@ -121,8 +131,10 @@
|
||||||
# Node.js for the application
|
# Node.js for the application
|
||||||
pkgs-unstable.nodejs_22
|
pkgs-unstable.nodejs_22
|
||||||
|
|
||||||
# Camera support
|
# Camera support. v4l-utils' default build drags in the whole Qt6 stack
|
||||||
v4l-utils
|
# for its qv4l2 GUI (~0.5GB) — we only ever use the v4l2-ctl CLI, so drop
|
||||||
|
# the GUI.
|
||||||
|
(v4l-utils.override { withGUI = false; })
|
||||||
fswebcam
|
fswebcam
|
||||||
|
|
||||||
# ATM operations
|
# ATM operations
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue