phantom-ship/shipyard: add media-processing tools for feedback
Feedback now accepts photos, voice notes, video, documents etc. Phase A captures + stores raw files (Pillow for EXIF strip); Phase B derives OCR text, speech transcripts, poster frames, PDF text — all via subprocess so each tool degrades gracefully if absent. Wire the following into the shipyard service: - python3Packages.pillow → EXIF strip on captured photos - ffmpeg → poster frames + audio→16kHz WAV for whisper - tesseract (eng + rus) → OCR (vyscul writes in Russian) - whisper-cpp → speech-to-text for voice / audio / video - poppler_utils → pdftotext for document attachments Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
680c20483c
commit
cc8cc05a08
5 changed files with 204 additions and 2 deletions
37
nixos/disko-distant-shore.nix
Normal file
37
nixos/disko-distant-shore.nix
Normal file
|
|
@ -0,0 +1,37 @@
|
|||
# Declarative disk layout for distant-shore (ThinkPad X13 Gen 2 — 256 GB
|
||||
# SK Hynix NVMe). UEFI/systemd-boot, no encryption: it's a headless,
|
||||
# WiFi-only server that must reboot unattended (clan dm-pull-deploy), so
|
||||
# a LUKS passphrase prompt at boot would hang it. Mirrors sunken-ship's
|
||||
# plain-ext4 choice. Device is wiped + repartitioned at install time by
|
||||
# clan/nixos-anywhere.
|
||||
{
|
||||
disko.devices = {
|
||||
disk.main = {
|
||||
type = "disk";
|
||||
device = "/dev/nvme0n1";
|
||||
content = {
|
||||
type = "gpt";
|
||||
partitions = {
|
||||
ESP = {
|
||||
size = "512M";
|
||||
type = "EF00";
|
||||
content = {
|
||||
type = "filesystem";
|
||||
format = "vfat";
|
||||
mountpoint = "/boot";
|
||||
mountOptions = [ "fmask=0022" "dmask=0022" ];
|
||||
};
|
||||
};
|
||||
root = {
|
||||
size = "100%";
|
||||
content = {
|
||||
type = "filesystem";
|
||||
format = "ext4";
|
||||
mountpoint = "/";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue