diff --git a/deploy/nixos/configuration.nix b/deploy/nixos/configuration.nix index d473a42..2306f5a 100644 --- a/deploy/nixos/configuration.nix +++ b/deploy/nixos/configuration.nix @@ -7,6 +7,16 @@ # System basics 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 = { hostName = "bitspire"; @@ -121,8 +131,10 @@ # Node.js for the application pkgs-unstable.nodejs_22 - # Camera support - v4l-utils + # Camera support. v4l-utils' default build drags in the whole Qt6 stack + # for its qv4l2 GUI (~0.5GB) — we only ever use the v4l2-ctl CLI, so drop + # the GUI. + (v4l-utils.override { withGUI = false; }) fswebcam # ATM operations